日期:2014-05-16  浏览次数:20378 次

js中的checkbox问题
我想要写个onChangeSelect(id)函数,当全选框选中时,判断下面的checkbox,如果有某个checkbox没有选中则全选框也不选中,如果所有的checkbox都选中了,那么全选框也自动选中。。。该怎么写呢?请高手教教我吧

------解决方案--------------------
1.给所有的子复选框name一样,单击事件一样
2.document.getElementByName(复选框name)    这获取出所有子复选框
3.循环所有复选框,检测每个复选框的 checked 状态,若有一个没选中,则直接break,反之,若循环到最后还没有break,则给父复选框选中
4.至于父复选框的单击事件,也可以用这个循环复制来搞定
子复选款的checked=父复选框的checked
------解决方案--------------------
 //是否选择
 function check(){
   var input = document.getElementsByTagName("input");
   for(var i = 0; i < input.length; i ++)
      {
               if(input[i].type == "checkbox" )
                {
                  if (input[i].checked)
                  {
document.getElementById("transfer").disabled = false;
 //$(".transfer").show();
                        break;
 }else{
  document.getElementById("transfer").disabled = true;
  //$(".transfer").hide();
 }
       }
      }
 }
------解决方案--------------------

$(function() {
    $("input[type=checkbox]").bind("click",function() {
       if($(this).attr("id")==="all") {
            $("input[type=checkbox]").attr("checked",$(this).attr("checked"));
       } else {
       if($("input[type=checkbox]:checked:not('#all')").size()>=$("input[type=checkbox]").size()-1) {
            $("#all").attr("checked",true);
       }
       else {
            $("#all").attr("checked",false);
       }
       
       }
           
    });
});


------解决方案--------------------
<input type="checkbox" name="a" value="1">
<input type="checkbox" name="a" value="2">
<input type="checkbox" name="a" value="3">
<input type="checkbox" name="a" value="4">
<input type="checkbox" name="all