Javascript - 检查所有复选框问题

标签 javascript html checkbox

我正在使用 JavaScript:

<SCRIPT LANGUAGE="JavaScript">
function Check(chk)
{
if(document.myform.CheckAll.value=="Check All"){
for (i = 0; i < chk.length; i++)
chk[i].checked = true ;
document.myform.CheckAll.value="Uncheck All";
} else {

for (i = 0; i < chk.length; i++)
chk[i].checked = false ;
document.myform.CheckAll.value="Check All";
}
}
</script>

在html代码上:

<form name="myform" method="post" action="">
<input type="checkbox" name="check_list[]" value="<? echo $row['Report ID'] ?>">
<input type="checkbox" name="check_list[]" value="<? echo $row['Report ID'] ?>">
...*More Checkboxes*...
<input style="font-family: sans-serif; font-weight:bold; font-size:12px; border: 1px #000000 solid;" type="button" id="CheckAll" name="CheckAll" value="Check All"
onClick="Check(document.myform.check_list[])">

但似乎不起作用...

它确实在某个时刻起作用,但那是在我使用名称之前:“check_list[]”(“[]”位)-这会导致 javascript 出现问题吗?如果是这样我怎样才能阻止它? -或者我怎样才能让javascript检查所有复选框? :)

非常感谢。

最佳答案

看看这个(删除重复代码+改进)

js:

function Check(frm){
    var checkBoxes = frm.elements['check_list[]'];
    for (i = 0; i < checkBoxes.length; i++){
        checkBoxes[i].checked = (frm.CheckAll.value == "Check All") ? 'checked' : '';
    }
    frm.CheckAll.value = (frm.CheckAll.value == "Check All") ? "Uncheck All" : 'Check All';
}

标记:

<form name="myform" method="post" action="">
<input type="checkbox" name="check_list[]" value="<? echo $row['Report ID'] ?>">
<input type="checkbox" name="check_list[]" value="<? echo $row['Report ID'] ?>">
<input style="font-family: sans-serif; font-weight:bold; font-size:12px; border: 1px #000000 solid;" type="button" id="CheckAll" name="CheckAll" value="Check All"
onClick="Check(document.myform)">

示例:http://jsfiddle.net/steweb/XL6uh/

关于Javascript - 检查所有复选框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4997615/

相关文章:

javascript - Windows Azure云服务中的全局变量

javascript - 如何克服 jquery 中的这个问题以获得动画悬停效果?

javascript - IE8 渲染错误 : after javascript visibility-toggle, div 内容保持白色

html - 隐藏可见性的元素会导致空白

javascript - 如何使用从各种复选框派生的字符串值填充文本区域?

javascript - 选中复选框并触发更改事件javascript

javascript - AngularJS 选择具有自动完成功能

html - 禁用 Material-UI Stepper 组件的折叠操作

html - 一键实现多个jquery-ui对话框

html - 我正在尝试使用复选框来更改元素的颜色,但它不起作用