Javascript 选中/取消选中所有复选框功能仅在有多个复选框时才有效
Javascript check/uncheck all checkbox function only works when there is more than one checkbox
我有一系列复选框设置为数组(name="action[])和一个链接到另一个复选框的JavaScript函数来检查/取消选中所有这些复选框。 当至少有两个复选框要选中时,它可以正常工作,但如果只有一个复选框,则它什么也不做。 谁能指出我正确的方向? 谢谢!
.HTML:
<input type="checkbox" name="checkall" id="checkall" class="box" onClick="doCheck(this, 'action');">
<input type="checkbox" name="action[]" id="action" value="' . $something['someid'] . '" class="box">
<input type="checkbox" name="action[]" id="action" value="' . $something['someid'] . '" class="box">
JavaScript:
function doCheck(mainChk, fields) {
for(i = 0; i < mainChk.form.elements[fields].length; i++) {
mainChk.form.elements[fields][i].checked = mainChk.checked;
}
}
<input type="checkbox" name="checkall" id="checkall" class="box">
<input type="checkbox" name="action[]" id="action" value="' . $something['someid'] . '" class="box check-child">
<input type="checkbox" name="action[]" id="action" value="' . $something['someid'] . '" class="box check-child">
如果你想使用jQuery,你可以这样一段代码:
$("#checkall").click(function(){
if($(this).is(":checked"))
$(".check-child").attr("checked", "checked");
else
$(".check-child").removeAttr("checked");
));
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 如何在 JSF 中创建有效的“全选”复选框
- Google Web Map 复选框在 Firefox 和 Chrome 中有效,但在 IE 中不起作用
- 激活输入的复选框有效,但如果一行输入重复,它的行为会很奇怪
- 复选框单击有效,取消选中复选框不工作Javascript
- 仅第一个复选框有效 - 其他检查仅在选中第一个复选框时才有效
- 如果有多个复选框,为什么只有一个复选框实例有效?
- Angular.js - ng-disabled在复选框上,仍然提交一个有效的表单
- 有效检测选中复选框的数量
- 如何在angularjs中存储复选框的有效ng更改事件
- JavaScript & Checkbox - 存储每个复选框值的更有效方法
- Javascript 选中/取消选中所有复选框功能仅在有多个复选框时才有效
- 启用rails提交按钮更新复选框状态的有效方法