Javascript全部检查并取消选中全部复选框

时间:2013-07-05 07:50:58

标签: php javascript jquery html javascript-events

<script type="text/javascript">
function checkAll(formname, checktoggle)
{
     var checkboxes = new Array();
      checkboxes = document[formname].getElementsByTagName('input');
      for (var i = 0; i < checkboxes.length; i++) {
          if (checkboxes[i].type === 'checkbox') {
               checkboxes[i].checked = checktoggle;
          }
      }
}
</script>

<form name="myform">
<li>
   <label class="cba">
         <a href="javascript:void();" onclick="javascript:checkAll('myform', true);">Check All</a> | 
         <a href="javascript:void();" onclick="javascript:checkAll('myform', false);">UnCheck All</a>
   </label>
</li>
<li>
    <input class="cba" type="checkbox" name="content1" value="1"<?php checked('1', $slct); ?>/>
</li>
<li>
    <input class="cbc" type="checkbox" name="content2" value="2"<?php checked('2', $copy); ?>/>
</li>
<li>
    <input class="cbx" type="checkbox" name="content3" value="3"<?php checked('3', $cut); ?>/>
</li>
</form>

大家好我已经为复选框选中了所有选项并取消选中所有选项。仍然现在检查所有并取消选中所有不工作我在firebug中查看时在控制台中收到错误。这是我附上的截图。 我不确定我做错了什么。

enter image description here

任何建议都会很棒。

谢谢, 维基

6 个答案:

答案 0 :(得分:6)

您的语法不正确。您错过了.forms所以它应该是这样的

document.forms[formName].getElementsByTagName("input");

答案 1 :(得分:2)

  function checkAll(formname, checktoggle)
    {
        var checkboxes = new Array();
        checkboxes = document.forms[formname].getElementsByTagName('input');

        for (var i = 0; i < checkboxes.length; i++) {
            if (checkboxes[i].type === 'checkbox') {
                checkboxes[i].checked = checktoggle;
            }
        }
    }
</script>

最后基于@Mark Walters建议我纠正了问题。这是我根据他的建议改变的那一个。 感谢你的帮助。快乐的一天

答案 2 :(得分:2)

Javascript函数切换(选中/取消选中)所有复选框。

function checkAll(bx)
{
 var cbs = document.getElementsByTagName('input');
 for(var i=0; i < cbs.length; i++)
 {
    if(cbs[i].type == 'checkbox')
    {
        cbs[i].checked = bx.checked;
     }
 }
}

答案 3 :(得分:1)

function checkAll(bx) {
  var cbs = document.getElementsByTagName('input');
  for(var i=0; i < cbs.length; i++) {
    if(cbs[i].type == 'checkbox') {
    cbs[i].checked = bx.checked;
   }
 }
}

从复选框的onclick属性调用该函数以检查所有函数。

<input type="checkbox" onclick="checkAll(this)">

答案 4 :(得分:0)

试试这个:

function checkAll(formname, checktoggle)
{
    var checkboxes = new Array();

    checkboxes = document.form.myform.getElementsByTagName('input');

    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].type === 'checkbox') {
               checkboxes[i].checked = checktoggle;
        }
    }
}

答案 5 :(得分:0)

对于特定的复选框,您可以使用:

function checkBoxes(pForm, boxName) {

for (i = 0; i < pForm.elements.length; i++)
    if (pForm.elements[i].name == boxName)
        pForm.elements[i].checked = pForm.elements[i].checked ? false : true;

}