我試圖理解爲什麼當我在單選按鈕上使用.prop()時,if語句總是返回false。我的目標是隻有在選擇了「#manualOverrideNo」單選按鈕的情況下才能運行JS。如果有人能夠啓發我,我會非常感激。下面是一個代碼片段的小提琴 - http://jsfiddle.net/gv0029/xEfw4/1/ - 這裏還有:.prop if語句與JQuery
HTML: 手動超越:
<label>No<input type="radio" name="manualOverride"
id="manualOverrideNo" value="no" checked /></label>
<label>Yes<input type="radio" name="manualOverride"
id="manualOverrideYes" value="yes" /></label>
<label>Footage:<input type="number" id="footage"
name="footage" value="" /></label>
<label>Post Quantity:<input type="postQuantity"
name="postQuantity" id="postQuantity" value="" /></label>
JS:再次
if($('#manualOverrideNo').prop('checked')) {
//Code For Auto-complete
//Quantity for Posts
$('#footage').bind('keypress keydown keyup change', function(){
var footage = parseFloat($(':input[name="footage"]').val(),10);
var total = '';
if(!isNaN(footage)){
total = Math.ceil(footage /7);
}
$(':input[name="postQuantity"]').val(total.toString());
});
}
謝謝!你們都是我的英雄!
一些提示:'parseFloat'不採用基數。 '.toString'是不需要的,因爲'val()'無論如何都會這樣做。如果你使用jQuery的新版本'綁定',使用'on'。 – elclanrs
你的jsfiddle中的代碼似乎工作得很好。你能更清楚地解釋發生了什麼問題嗎? – Pointy
您在jsfiddle中使用attr –