我是用FOR 循环,循环出多个复选框,怎样才能判断选择一个或多个,但不是全选?
希望大家多多帮忙,我是刚学的。

解决方案 »

  1.   

    function selectAll()
    {
           var arrObj=document.getElementsByName("selecteId");
           var allObj=document.getElementsByName("allSelected");
           if(allObj[0].checked){
            for(var i=0;i<arrObj.length;i++){
            arrObj[i].checked = true;
            }
           }else{
            for(var i=0;i<arrObj.length;i++){
            arrObj[i].checked = false;
            }
           }
     }
      

  2.   

     var arrObj=document.getElementsByName("selecteId"); 
          var allObj=document.getElementsByName("allSelected"); 
    这两句我不明白.那个是它的名字啊.
      

  3.   

    假设你的所有复选框的引用我已经获取到了放在一个叫selects的数组里,传到一个方法里该方法名字叫isAllSelected()入口参数是selects数组出口参数是boolean类型function isAllSelected(selects){
       //是否满足选中一个选项或者选中多个选项但没有全选的标志位
       var flag = true;
       //记录所有的选项控件中被选中的个数
       var selectedNum = 0;   //通过循环找到被选中的复选框的个数
       for(var index = 0, size = selects.length; index < size; index++){
            if(selects[index].checked){
               selectedNum++;
            }
       }
       //如果用户一个都没选,或者全选了,返回值设为false
       if(selectedNum == 0 || selectedNum == selects.length){
           flag = false;
       }   return flag;
    }
    把你的放多选控件的数组传到方法里返回的boolean类型就表示是否该数组里的所有多选控件是否全被选中了
    我觉得,楼主不应该问这个问题做开发,要的就是逻辑思维如果你API不会,可以来问逻辑的问题应该自己多想只有这样才能得到锻炼与成长