我正在嘗試爲用戶構建過濾器,包括選擇/取消選擇所有功能。Jquery取消選中所有複選框多個表單
我已經發現了很多正確的例子,但是沒有一個在演示中有多個過濾器,現在它的行爲很奇怪。
當我點擊(全部)的過濾器1 IT'IS工作正常,但不是(全部)的過濾器2 ...
的jsfiddle:
https://jsfiddle.net/Max06270/pvtqpn8a/#&togetherjs=2tvV3Mhb7l
HTML:
<div id="filter1">
<form action='#'>
<input type="checkbox" id="select-all" checked>(All)<br>
<!-- Should select/unselect only the F1 checkboxes -->
<input type="checkbox" id="checkbox-f1" checked>F1: Value1<br>
<input type="checkbox" id="checkbox-f1" checked>F1: Value2<br>
<input type="checkbox" id="checkbox-f1" checked>F1: Value3<br>
<input type="checkbox" id="checkbox-f1" checked>F1: Value4<br>
<input type="submit" id="submit-f1" value="Apply">
</form>
</div>
<br>
<div id="filter2">
<form action='#'>
<input type="checkbox" id="select-all" checked>(All)<br>
<!-- Should select/unselect only the F2 checkboxes -->
<input type="checkbox" id="checkbox-f2" checked>F2: Value1<br>
<input type="checkbox" id="checkbox-f2" checked>F2: Value2<br>
<input type="checkbox" id="checkbox-f2" checked>F2: Value3<br>
<input type="checkbox" id="checkbox-f2" checked>F2: Value4<br>
<input type="submit" id="submit-f2" value="Apply">
</form>
</div>
JS:
$("#select-all").change(function() {
$(this).siblings().prop('checked', $(':checkbox').prop("checked"));
});
預先感謝您, 最大
您應該使用一個類'選擇-all'而不是ID。 ID的應該是唯一的一個元素。編輯:同樣適用於您的輸入ID;那些應該也是類。 –