简体   繁体   English

选中所有复选框,其中一个复选框不起作用

[英]select all checkbox by one checkbox not working

following is my code, can any one tell me whats going wrong. 以下是我的代码,任何人都可以告诉我出了什么问题。

<input type="checkbox" name="Chk[]" value="<?php echo($arr['id']); ?>" onClick="Click()" id="CK">// all checkboxex
<input onClick="selectall()" type="checkbox" value="yes" name="c1">// one checkbox
/*function called*/
function selectall()
    {
         if(document.frm.chk.value=="false")
         {
             document.frm.chk.value="true";
             for(var i=0; i<document.frm.elements.length; i++)
               {
                 if((document.frm.elements[i].type)=="checkbox")
                   {
                     document.frm.elements[i].checked = true;
                   }
                }
         }
        else if(document.frm.chk.value=="true")
        {
            document.frm.chk.value="false";
             for(var i=0; i<document.frm.elements.length; i++)
               {
                 if((document.frm.elements[i].type)=="checkbox")
                   {
                     document.frm.elements[i].checked = false;
                   }
                }
        }
    }

I grabbed your code and tweaked it slightly bit rough and ready but seems to work... 我抓起您的代码并对其进行了一些粗略的调整,并准备好了,但似乎可以正常工作...

    <form name='frm'>
<input type="checkbox" name="chk" value="<?php echo($arr['id']); ?>" onClick="Click()" id="CK">// all checkboxex
<input onClick="selectall()" type="checkbox" value="yes" name="c1">// one checkbox
</form>
/*function called*/
<script>
function selectall()
{
if(!document.frm.chk.checked)
{
    document.frm.chk.value="true";
    for(var i=0; i<document.frm.elements.length; i++)
    {
        if((document.frm.elements[i].type)=="checkbox")
        {
            document.frm.elements[i].checked = true;
        }
    }
}
else if(document.frm.chk.checked)
{
  document.frm.chk.value="false";
    for(var i=0; i<document.frm.elements.length; i++)
    {
        if((document.frm.elements[i].type)=="checkbox")
        {
            document.frm.elements[i].checked = false;
        }
    }
}
}
</script>     

Now when clicking the second checkbox it will check/uncheck the other one. 现在,当单击第二个复选框时,它将选中/取消选中另一个复选框。 Had to check the checked property rather than value. 必须检查选中的属性而不是值。

Oh and like @Gordon said much easier to use a debugger like Firebug to find out why it's not working. 哦,就像@Gordon所说的那样,使用像Firebug这样的调试器来找出为什么它不起作用要容易得多。 Assuming your form is called is called frm? 假设您的表格被称为frm?

使用document.form而不是document.frm

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

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