我試圖在使用JQuery 1.9.1的HTML表單上實現「全選」複選框。據我所知,它應該就像使用.prop來檢查或取消選中複選框一樣簡單,但沒有任何我嘗試似乎工作。jQuery檢查複選框不起作用
請參閱下面的內容,我已經嘗試過了,我已經註釋了一些失敗的嘗試,並且我甚至無法爲一個複選框工作。什麼是正確的方法來做到這一點?我錯過了什麼,可能在HTML?
HTML
<input type="checkbox" id="cb_select_all" name="cb_select_all" value="t" />
<label for="cb_select_all"><b>Select All</b>
</label>
<br />
<input type="checkbox" name="cb1" id="cb1" class="cb_all" value="t" />
<label for="cb1">1 test</label>
<br />
<input type="checkbox" name="cb2" id="cb2" class="cb_all" value="t" />
<label for="cb2">2 test</label>
的Javascript
$(document).ready(function() {
$("#cb_select_all").change(cb_select_all_onchange);
}); //end $(document).ready
function cb_select_all_onchange() {
if ($("#cb_select_all").checked) {
//$("#cb1").prop("checked", true);
//$(".cb_all").each(function(){ this.checked = true; });
//document.getElementById("cb1").checked = true;
$(".cb_all").prop("checked", true);
} else {
$("#cb1").prop("checked", false);
}
}
http://jsfiddle.net/mLnb5qed/5/
感謝, JDT
您使用的ID選擇,'[0]'不需要,除非有非法的HTML繼續。另外,'.checked'是一個DOM屬性,而不是一個jQuery屬性。 – 2014-10-09 14:52:49
@SterlingArcher好吧,我認爲你必須認識事物。我也說'.checked'是一個DOM屬性。 – 2014-10-09 14:56:35
哎呀,我完全錯過了!你是對的,我的壞! – 2014-10-09 14:58:42