你的多选有问题
function CheckAll()  {//多选框全选全清函数
for (var i=0;i<document.frm[0].elements.length;i++){
var e = document.frm[0].elements[i];
if (e.name != 'chkall' && (e.type=='checkbox'))
e.checked = document.frm[0].chkall.checked; 
}
}

解决方案 »

  1.   

    function CheckAll()  {//多选框全选全清函数
    for (var i=0;i<document.forms[0].elements.length;i++){
    var e = document.forms[0].elements[i];
    if (e.name != 'chkall' && (e.type=='checkbox'))
    e.checked = document.forms[0].chkall.checked; 
    }
    }刚才发错了
      

  2.   

    经过研究,已实现多组全选.分享代码
    <SCRIPT language="javascript">
    function checkAll(str)
    {
      var a = document.getElementsByName(str);
      var n = a.length;
      for (var i=0; i<n; i++)
      a[i].checked = window.event.srcElement.checked;
    }function checkItem(str,obj)
    {
      var a = document.getElementsByName(str);
      var n = a.length;
      for (var i=0; i<n; i++){
         if (a[i].checked){
          document.getElementById(obj).checked=true;
            break;
         }else{
          document.getElementById(obj).checked=false;
         }
       }
    }
    </SCRIPT>
    <form>
    <input type="checkbox" name="pp" onClick="checkAll('aa')">Choose All "AA"
    <input type="checkbox" name="aa" onclick="checkItem('aa','pp')">AA1
    <input type="checkbox" name="aa" onclick="checkItem('aa','pp')">AA2
    <input type="checkbox" name="aa" onclick="checkItem('aa','pp')">AA3
    <input type="checkbox" name="aa" onclick="checkItem('aa','pp')">AA4
    <br/>
    <input type="checkbox" name="kk" onClick="checkAll('bb')">Choose All "BB"
    <input type="checkbox" name="bb" onclick="checkItem('bb','kk')">BB1
    <input type="checkbox" name="bb" onclick="checkItem('bb','kk')">BB2
    <br/>
    <input type="checkbox" name="uu" onClick="checkAll('cc')">Choose All "CC"
    <input type="checkbox" name="cc" onclick="checkItem('cc','uu')">CC1
    <input type="checkbox" name="cc" onclick="checkItem('cc','uu')">CC2
    </form>
      

  3.   

    /**
     *获得选中的checkbox的值
     *obj是checkbox的对象
     */
    function getCheckBoxSelect(obj){
    var delStr="";
    if(obj==undefined){
    return delStr;
    }
      if(obj.value!=undefined){
      if(obj.checked==true){
    delStr=obj.value+",";
    }
    }
    for(var i=0;i<obj.length;i++){
    if(obj[i].checked==true){
    delStr+=obj[i].value+",";
    }
    }
    if(delStr!=""){
    delStr=delStr.substring(0,delStr.length-1);
    }
    return delStr;
    }
    /**
     *设置checkbox的值
     *obj为要设置对象
     *value为设置的值
     */
    function checkBoxSelect(obj,value){
    if(obj==undefined){
    return;
    }
    if(obj.value!=undefined){
    obj.checked=value;
    return;
    }
    for(var i=0;i<obj.length;i++){
    obj[i].checked=value;
    }
    return;
    }
    /**
    * obj 为单选checkBox集合
    * obj2 为全选checkBox对象
    * 判断单选checkBox状态
    */
    function release(obj,obj2){
    if(obj.lenght==undefined){
    obj2.checked=obj.checked;
    }
    for(var j=0;j<obj.length;j++){
    if(obj[j].checked){
    for(var i=0;i<obj.length;i++){
    if(returnStatus(obj)==obj.length){
    obj2.checked=obj[j].checked;
    }else{
    obj2.checked=false;
    }
    }
    }else
    if(obj.checked==false){
    obj2.checked=obj.checked;
    }
    }
    }
    /**
    * obj 为单选checkBox集合
    * 判断单选checkBox为选中的个数,返回一个总数
    */
    function returnStatus(obj){
    var cnt=0;
    for(var i=0;i<obj.length;i++){
    if(check[i].checked==true){
    cnt = cnt + 1;
    }
    }
    return cnt;
    }