你选项从表里读出来 给设置上相应id name可以吧?
那样不跟正常的全选一样么?

解决方案 »

  1.   

    名字起得有规律,javascript循环选择就是了
      

  2.   

    我仔细说一下吧,麻烦帮我分析分析哈:假设有ABC三组,这个组是写在一个数据字典表里的(这些组的名字是给定的),另外各组对应的选项是写在另一个表里的(选项的名字也是已经订好的),我现在是先从数据字典里把组取出来,再根据组循环把选项也取出来,现在都取出来了,我要点击a组,那么a组的选项也全部勾选上,现在的问题就在这里,我点击了a组,怎样去勾选对应的选项呢,以为是循环取出的,所以所有选项的名字,id都是一样的~
      

  3.   

    示例代码如下:<html xmlns="http://www.w3.org/1999/xhtml" >
    <head><title>
    无标题页
    </title><link rel="stylesheet" type="text/css" href="../../CSS/dx.css" /></head>
    <body>
       <table border="0" width="100%" cellpadding="0" cellspacing="1"  align="center" bgcolor="#92b0dd">
       <tr bgcolor="#ffffff"><td align="center">选择</td><td align="center">姓名</td><td align="center">号码</td><td align="center">单位职务</td>
       </tr>
       <tr bgcolor='#ffffff'><td colspan='4' align='left'><input type='checkbox' id='mul_1' onclick='dwselect(this)' value=''>中亚公司</td></tr><form id='mul_1_child'><tr id='mul_1_1' bgcolor='#ffffff'><td><input type='checkbox' id='mul_1_1_put' value='许文友'></td><td align=center>许文友</td><td align=center>13601755900</td><td align=center>总经理</td></tr></form><tr bgcolor='#ffffff'><td colspan='4' align='left'><input type='checkbox' id='mul_2' onclick='dwselect(this)' value=''>置业集团</td></tr><form id='mul_2_child'><tr id='mul_2_1' bgcolor='#ffffff'><td><input type='checkbox' id='mul_2_1_put' value='包兴鸿'></td><td align=center>包兴鸿</td><td align=center>13801668665</td><td align=center>分管领导</td></tr><tr id='mul_2_2' bgcolor='#ffffff'><td><input type='checkbox' id='mul_2_2_put' value='徐顺虎'></td><td align=center>徐顺虎</td><td align=center>13817380462</td><td align=center>董事长</td></tr><tr id='mul_2_3' bgcolor='#ffffff'><td><input type='checkbox' id='mul_2_3_put' value='丁惠定'></td><td align=center>丁惠定</td><td align=center>13901783771</td><td align=center>科长</td></tr><tr id='mul_2_4' bgcolor='#ffffff'><td><input type='checkbox' id='mul_2_4_put' value='孙秋泉'></td><td align=center>孙秋泉</td><td align=center>13901783772</td><td align=center>防汛干部</td></tr></form><tr bgcolor='#ffffff'><td colspan='4' align='left'><input type='checkbox' id='mul_3' onclick='dwselect(this)' value=''>运输公司</td></tr><form id='mul_3_child'><tr id='mul_3_1' bgcolor='#ffffff'><td><input type='checkbox' id='mul_3_1_put' value='武毅'></td><td align=center>武毅</td><td align=center>13818189966</td><td align=center>副经理</td></tr><tr id='mul_3_2' bgcolor='#ffffff'><td><input type='checkbox' id='mul_3_2_put' value='樊少东'></td><td align=center>樊少东</td><td align=center>13917229160</td><td align=center>防汛干部</td></tr></form><tr bgcolor='#ffffff'><td colspan='4' align='left'><input type='checkbox' id='mul_4' onclick='dwselect(this)' value=''>有线电视台</td></tr><form id='mul_4_child'><tr id='mul_4_1' bgcolor='#ffffff'><td><input type='checkbox' id='mul_4_1_put' value='杨继龙'></td><td align=center>杨继龙</td><td align=center>13901865197</td><td align=center>台长</td></tr></form><tr bgcolor='#ffffff'><td colspan='4' align='left'><input type='checkbox' id='mul_5' onclick='dwselect(this)' value=''>兴海</td></tr><form id='mul_5_child'><tr id='mul_5_1' bgcolor='#ffffff'><td><input type='checkbox' id='mul_5_1_put' value='张君祥'></td><td align=center>张君祥</td><td align=center>13701820999</td><td align=center>副总经理</td></tr><tr id='mul_5_2' bgcolor='#ffffff'><td><input type='checkbox' id='mul_5_2_put' value='栾复林'></td><td align=center>栾复林</td><td align=center>13817380322</td><td align=center>防汛干部</td></tr></form><tr bgcolor='#ffffff'><td colspan='4' align='left'><input type='checkbox' id='mul_6' onclick='dwselect(this)' value=''>新静安</td></tr><form id='mul_6_child'><tr id='mul_6_1' bgcolor='#ffffff'><td><input type='checkbox' id='mul_6_1_put' value='张永润'></td><td align=center>张永润</td><td align=center>13301601802</td><td align=center>防汛干部</td></tr><tr id='mul_6_2' bgcolor='#ffffff'><td><input type='checkbox' id='mul_6_2_put' value='费树林'></td><td align=center>费树林</td><td align=center>13311818700</td><td align=center>总经理</td></tr></form>   <tr bgcolor="#ffffff"><td colspan="4" align="center"><input type="checkbox" onclick="selectall(this)"/>全选<input type="button" value="确定" onclick="sure()"/></td></tr>
       </table>
    </body>
    </html>
    <script language="javascript" type="text/javascript">
    var num='57';
    var $ = function(id) {return document.getElementById(id);};
    function dwselect(obj)
    { var s=obj.id;
     var str=$(s+"_child");
     var lis = str.childNodes;
     //alert(str.id)
     if(obj.checked==true)
     {   
        for(i=0;i<lis.length;i++)     
        { 
         var temp=$(lis[i].id+"_put");   
         temp.checked=true;
        }
     }
     else
     {
     
          for(i=0;i<lis.length;i++)
        {
         var temp=$(lis[i].id+"_put");
          
         temp.checked=false;
        }
     
     
     
     
     
     
     }
     }
    function selectall(obj)
    {
    if(obj.checked==true)
    {
     var el = document.getElementsByTagName('input'); 
     var len = el.length;     
     for(var i=0; i<len; i++)     
     {         
       if(el[i].type=="checkbox")        
        {             
        el[i].checked = true;        
         }     
        } 
    }
    else
    {
     var el = document.getElementsByTagName('input'); 
     var len = el.length;     
     for(var i=0; i<len; i++)     
     {         
       if(el[i].type=="checkbox")        
        {             
        el[i].checked = false;        
         }     
        } 
    }
    }function sure()
    {
     var names="";
     var el = document.getElementsByTagName('input'); 
     var len = el.length;     
     for(var i=0; i<len; i++)     
     {         
       if(el[i].type=="checkbox")        
        {  
          if(el[i].checked ==true)           
          {
            if(el[i].value.length>1)
            {
              names+=el[i].value+",";
            }
           
          }
        } 
    }
    names=names.substring(0,names.length-1);
    window.opener.document.all.person.value=names;
    window.close();
    }</script>
      

  4.   

    把你生成的html代码贴出来
    这样说没用啊,html结构都不知道
      

  5.   

    “因为是循环取出的,所以所有选项的名字,id都是一样的~”这个因果关系不成立吧,循环的时候加一个循环变量,让他们不一样
    尤其是id属性,任何一个id都应该是页面中唯一的
      

  6.   

    也简单,在name上,加上组的标识,比如id,或者设置一个伪属性也可以。
      

  7.   

    A组:<input type=checkbox g="a" name='xxx' value="1" />
         <input type=checkbox g="a" name='xxx' value="2" />
         ....
    B组:<input type=checkbox g="b" name='xxx' value="1" />
         <input type=checkbox g="b" name='xxx' value="2" />
         ....
      

  8.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> 共享设置 </TITLE>
     </HEAD> <BODY>
      <span class="STYLE7">频道共享设置</span>
     <form action="shareSave.asp" method="post">
    <table align="center" width="750px" cellpadding=3 cellspacing=0 class="tableborder">
    <tr>
    <td class="tdborder" colspan=2 align="left" height="30">&nbsp;<span class="STYLE2">&nbsp;<span class="STYLE4">HELLO!</span></span> <span class="fontbolder"><%=username%></span></td>
    </tr>
    <tr>
    <td width="66" align="center" class="tdborder">频道组</td>
    <td width="670" align="left" class="tdborder">
    <input type='checkbox' name='shareall' id='shareall' value='' onClick="selectAll(this);">全选
    <%
    group_sql="select * from t_library where lib_of_family='频道分组' order by lib_id asc"
    set group_rs=conn.execute(group_sql)

    i=1

    Do While Not group_rs.eof

    if group_rs("lib_item") = usergroup then
    dft_str = " checked"
    else
    dft_str = ""
    end if
    response.write "<input type='checkbox' name='share_group' value='" & group_rs("lib_id") & "' " & dft_str & " onclick=""selectgroup(this);"">" & group_rs("lib_item") 
    If i Mod 8 = 0 Then
    response.write "<br>"
    End if
    group_rs.movenext
    i=i+1
    Loop
    set group_rs=nothing
    %>   
    </td>
    </tr>
    <%
    set group_rs1=conn.execute(group_sql)
    j=1
    Do While Not group_rs1.eof
    channel_sql = "select * from t_channel where ch_group_id = '" & group_rs1("lib_id") & "'"
    set channel_rs = conn.execute(channel_sql)
    %>
    <tr>
    <td align="center" class="tdborder">频道
    <input type="hidden" name="sharegroup" id="sharegroup" value="">
    </td>
    <td class="tdborder" align="left">
    <%
    do while not channel_rs.eof
    If InStr(share_str,channel_rs("ch_id"))>0 Then
    dft_Str=" checked "
    Else
    dft_str=""
    End If

    response.write "<span class='span80'><input type='checkbox' name='share_channel' category = '" & group_rs1("lib_id") & "' value='" & channel_rs("ch_id") & "' " & dft_str & ">" & channel_rs("ch_name") & "</span>"
    If i Mod 8 = 0 Then
    response.write "<br>"
    End if
    j=j+1
    channel_rs.movenext
    loop

    response.write"</td>"

    group_rs1.movenext
    loop

    set channel_rs=nothing
    Set group_rs1=nothing
    %>
    </tr>
    <tr>
       <td align="center" class="tdborder">
       <input type="hidden" name="sharetoall" id="sharetoall" value="">
    </td>
    <td class="tdborder" align="right" height="30">
    <input type="submit" name="submit" class="commonButton" value="保存设置">&nbsp;
    </td>
    </tr>
      </table>
     </form>
     <SCRIPT LANGUAGE="JavaScript">
     function $(ids){
    return document.getElementById(ids);
     }
     function selectAll(oneall){
    //全选按钮
    var allgroup=document.getElementsByName("share_group");
    var allchannel=document.getElementsByName("share_channel");

    var sharetoall=$("sharetoall");
    var i; if(allgroup!=null){
    if(oneall.checked==true){
    for(i=0;i<allgroup.length;i++){
    sharetoall.value+=allgroup[i].value+",";
    allgroup[i].checked=true;
    allgroup[i].disabled=true;
    }
    }else{
    sharetoall.value="";
    for(i=0;i<allgroup.length;i++){
    allgroup[i].checked=false;
    allgroup[i].disabled=false;
    }
    }
    }
    if(allchannel!=null){
    if(oneall.checked==true){
    for(i=0;i<allchannel.length;i++){
    allchannel[i].checked=true;
    allchannel[i].disabled=true;
    }
    }else{
    for(i=0;i<allchannel.length;i++){
    allchannel[i].checked=false;
    allchannel[i].disabled=false;
    }
    }
    }
    }
    function selectgroup(obj){
    //选择频道组
    var allgroup=document.getElementsByName("share_group");
    var allchannel=document.getElementsByName("share_channel");
    var i; if(allgroup!=null){
    if(allgroup.value==allchannel.category){
    if(obj.checked==true){
    for(i=0;i<allchannel.length;i++){
    allchannel[i].checked=true;
    allchannel[i].disabled=true;
    }
    }else{
    for(i=0;i<allchannel.length;i++){
    allchannel[i].checked=false;
    allchannel[i].disabled=false;
    }
    }
    }
    }
    }</SCRIPT>
    </BODY>
    </HTML>
    这是我的代码,selectgroup(obj)函数就是我要请教的部分~现在是不论点击哪个组,都会把所有的选项勾上~