<table width="100%" border="0" cellpadding="0" cellspacing="1">
   <tr>
      <td width="3%" height="22px"></td>
      <td width="30%">地区名称</td>
      <td width="8%">菜单等级</td>
   </tr>
   <tr bgcolor="#FFFFFF">
     <td align="left" height="20px">
       <input type="checkbox" name="all" id="1" value="1" /></td>
     <td align="left" style="padding-left:0px;">重庆市</td>
     <td>父级</td>
   </tr>
   <tr bgcolor="#FFFFFF">
     <td align="left" style="padding-left:20px;">
       <input type="checkbox" name="all" id="1" value="31" /></td>
     <td align="left" style="padding-left:30px;">江北区</td>
     <td>二级</td>
  </tr>
  <tr bgcolor="#FFFFFF">
     <td align="left" style="padding-left:20px;">
       <input type="checkbox" name="all" id="1" value="32" /></td>
     <td align="left" style="padding-left:30px;">沙坪坝区</td>
     <td>二级</td>
  </tr>
  <tr bgcolor="#FFFFFF">
     <td align="left" style="padding-left:20px;">
       <input type="checkbox" name="all" id="1" value="33" /></td>
     <td align="left" style="padding-left:30px;">大渡口区</td>
     <td>二级</td>
  </tr>
  <tr bgcolor="#FFFFFF">
     <td align="left" height="20px">
       <input type="checkbox" name="all" id="2" value="2" /></td>
     <td align="left" style="padding-left:0px;">北京市</td>
     <td>父级</td>
  </tr>
  <tr bgcolor="#FFFFFF">
     <td align="left" style="padding-left:20px;">
       <input type="checkbox" name="all" id="2" value="38" /></td>
     <td align="left" style="padding-left:30px;">海淀区</td>
     <td>二级</td>
  </tr>
</table>
如何用jquery实现  
一、点击“重庆市”的复选框, 就会把“江北区”,“沙坪坝区”,“大渡口区”的复选框给选中,
    选中之后 下面的“江北区”,“沙坪坝区” ,“大渡口区”的任意一个复选框是不能取消的,
    只能通过点击“重庆市”才能全部取消
二、点击“大渡口区”的复选框,  “重庆市”的复选框是不会被选中的
   想了一早上了,只做出了点击“重庆市” 把下面3个区给选中,而且还有BUG,所以想有哪位好心人帮帮忙,帮我把这个功能给实现出来 非常感激。

解决方案 »

  1.   

    你的错误在于 标签的ID重复 ;
    这种层次关系需要用个标签来体现出来才能方便选择上下级,比如可以加个parentID标签
      

  2.   


    <table width="100%" border="0" cellpadding="0" cellspacing="1">
       <tr>
          <td width="3%" height="22px"></td>
          <td width="30%">地区名称</td>
          <td width="8%">菜单等级</td>
       </tr>
       <tr bgcolor="#FFFFFF">
         <td align="left" height="20px">
           <input type="checkbox" name="all" id="" did="1" hash=0 value="1" /></td>
         <td align="left" style="padding-left:0px;">重庆市</td>
         <td>父级</td>
       </tr>
       <tr bgcolor="#FFFFFF">
         <td align="left" style="padding-left:20px;">
           <input type="checkbox" name="all" id="1" value="31" /></td>
         <td align="left" style="padding-left:30px;">江北区</td>
         <td>二级</td>
      </tr>
      <tr bgcolor="#FFFFFF">
         <td align="left" style="padding-left:20px;">
           <input type="checkbox" name="all" id="1" value="32" /></td>
         <td align="left" style="padding-left:30px;">沙坪坝区</td>
         <td>二级</td>
      </tr>
      <tr bgcolor="#FFFFFF">
         <td align="left" style="padding-left:20px;">
           <input type="checkbox" name="all" id="1" value="33" /></td>
         <td align="left" style="padding-left:30px;">大渡口区</td>
         <td>二级</td>
      </tr>
      <tr bgcolor="#FFFFFF">
         <td align="left" height="20px">
           <input type="checkbox" name="all" id="" did="2" hash=0 value="2" /></td>
         <td align="left" style="padding-left:0px;">北京市</td>
         <td>父级</td>
      </tr>
      <tr bgcolor="#FFFFFF">
         <td align="left" style="padding-left:20px;">
           <input type="checkbox" name="all" id="2" value="38" /></td>
         <td align="left" style="padding-left:30px;">海淀区</td>
         <td>二级</td>
      </tr>
    </table>
    $(":checkbox").click(function(){
        if($(this).attr("hash")==0){
    if($(this).attr("checked")){
        $("input[id="+$(this).attr("did")+"]").each(function(){
    $(this).attr({checked:true,disabled:true});
        });
    }else{
        $("input[id="+$(this).attr("did")+"]").each(function(){
    $(this).attr({checked:false,disabled:false});
        });
    }
        }
    });
    我做出来了 是这样 不知道有没有人还比我做的简单的 或者我这里有什么错误的 大家都可以指出来。多多学习。谢谢了。