考虑这个简单的示例代码:
<form name="text" id="frm1" method="post"> <input type="checkBox" name="name[]" value="1000"> Chk1<br> <input type="checkBox" name="name[]" value="1001"> Chk2<br> <input type="checkBox" name="name[]" value="1002"> Chk3<br> <input type="checkBox" name="name[]" value="1003"> Chk4<br> <input type="checkBox" id="select_all"/> Select All<br> </form> <form name="text" id="frm2" method="post"> <input type="checkBox" name="name[]" value="4000"> Chk1<br> <input type="checkBox" name="name[]" value="4001"> Chk2<br> <input type="checkBox" name="name[]" value="4002"> Chk3<br> <input type="checkBox" name="name[]" value="4003"> Chk4<br> <input type="checkBox" id="select_all"/> Select All<br>
我试图让Select All在每个表单中工作(表单是在我的生产代码中动态生成的,并且具有不同的,不同的名称)
我正在使用这个jquery,但select_all仅适用于第一个表单;它对第一个下面的表格没有影响.
$('#select_all').change(function() { var checkBoxes = $(this).closest('form').find(':checkBox'); if($(this).is(':checked')) { checkBoxes.attr('checked','checked'); } else { checkBoxes.removeAttr('checked'); } });
我无法弄清楚如何在表格ID中包含的任何:复选框中选中所有复选框.
有人能指出我正确的方向吗?
非常感谢
解决方法
您有多个具有相同ID的元素,这是无效的HTML并导致您看到的问题.将id =“select_all”更改为class =“select_all”,将$(‘#select_all’)更改为$(‘.select_all’),您应该很好.