0

所以我有一堆这些按内容分开的形式。但是由于某种原因,单个复选框变得无法选中,当我单击全部切换时它们都不会检查。

任何的想法?

<form>
    <input  type="checkbox" name="pkid[]" value="1">
    .... content blah blah ...
    <input  type="checkbox" name="pkid[]" value="2">
    .... content blah blah ...
    <input  type="checkbox" name="pkid[]" value="3">
    .... content blah blah ...
    <input  type="checkbox" name="pkid[]" value="4">  
    .... content blah blah ...



    <script language="JavaScript">
    function toggle(source) {
      checkboxes = document.getElementsByName('pkid[]');
      for each(var checkbox in checkboxes)
        checkbox.checked = source.checked;
    }
    </script>



    <input type="checkbox" onClick="toggle(this)" /> Toggle All<br/>
</form>

它是否可能与我页面上的这些其他 javascript 代码冲突?

     <script type="text/javascript">
    $(document).ready(function(){
    $(".vote-art, .home-art, .rss-art , .new-art").click(function(){

    if($(this).children("input").is(':checked'))
       {
       $(this).children("input").attr('checked',false);
       }
       else
       { 
       $(this).children("input").attr('checked',true);
       }

});
});
</script>
    <script type="text/javascript">
    $(document).ready(function(){


    if($('#new-home').is(':checked'))
       {
       $('#new-hide').attr('checked',false);
       }
     if($('#new-hide').is(':checked'))
       { 
   $('#new-home').attr('checked',true);
   }


});
</script>
4

1 回答 1

0

将您的 foreach 循环更改为此

for (var i = 0; i < checkboxes.length; i++) {
    checkboxes[i].checked = source.checked;
}
于 2012-09-20T20:04:34.603 回答