У меня есть набор флажков как это. Если флажок "Check Me" проверяется, все другие 3 флажка должны быть включены, еще они должны быть отключены. Как я могу сделать это использование jQuery?
<form name="frmChkForm" id="frmChkForm">
<input type="checkbox" name="chkcc9">Check Me
<input type="checkbox" name="chk9[120]">
<input type="checkbox" name="chk9[140]">
<input type="checkbox" name="chk9[150]">
</form>
Немного измените разметку:
$ (function () {enable_cb (); $ ("# group1"). click (enable_cb);}); функция enable_cb () {если (this.checked) {$ ("input.group1"). removeAttr ("отключено"); } else {$ ("input.group1"). attr ("отключено", истина); }}
" class = "group1">
< / form>
Вы можете сделать это с помощью селекторов атрибутов, не вводя идентификаторы и классы, но это медленнее и (imho) сложнее для чтения.
<form name="frmChkForm" id="frmChkForm">
<input type="checkbox" name="chkcc9" id="chkAll">Check Me
<input type="checkbox" name="chk9[120]" class="chkGroup">
<input type="checkbox" name="chk9[140]" class="chkGroup">
<input type="checkbox" name="chk9[150]" class="chkGroup">
</form>
$("#chkAll").click(function() {
$(".chkGroup").attr("checked", this.checked);
});
С добавленной функциональностью, гарантирующей, что флажок «Проверить все» будет установлен / снят, если отмечены все отдельные флажки:
$(".chkGroup").click(function() {
$("#chkAll")[0].checked = $(".chkGroup:checked").length == $(".chkGroup").length;
});