繁体   English   中英

Javascript-检查所有复选框问题

[英]Javascript -Check all Checkboxes problem

我正在使用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中的[[]]字符保留用于标识数组。 即,您不能使用document.myform.check_list []在DOM中引用它们。 这将引用名为“ check_list”的元素数组。

您可以做的是改为从表单的元素数组中检索复选框。 只需像这样更改onclick:

onclick="Check(document.myform['check_list[]'])"

注意:建议您学习jQuery之类的JavaScript框架。 它使做这种事情变得非常容易,并且您可以编写简洁的JavaScript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM