repeater嵌套checkbox—大分类选中 他的所属都选中

来源:互联网 发布:ubuntu14.04卸载软件 编辑:程序博客网 时间:2024/05/22 14:15

前台vb

 <asp:Repeater id="rptMainMenu" runat="server">
  <HeaderTemplate>
    <table id="table01" width="149" border="0" cellspacing="0" cellpadding="0">
  </HeaderTemplate>
  <ItemTemplate>
    <tr class ="tr" >
      <td id="tdManiMenu"  >
         <asp:CheckBox ID ="cbxAll"  runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem, "标题") %>'oncheckedchanged="ItemCheckBox_CheckedChanged" AutoPostBack="true"   Font-Bold ="true" ></asp:CheckBox>
     </td>
    </tr>
     <tr  class ="tr">
      <td id="tdMenuBorder">
         <div>
          <asp:Repeater id="rptMainDetail" runat="server">
           <ItemTemplate>
             <tr>
               <td style =" padding-left :10px">
                 <asp:CheckBox ID="cbxMenuDetail" runat="server" Font-Size ="small"    Text ='<%# DataBinder.Eval(Container.DataItem, "标题") %>'
                    ></asp:CheckBox>
                 <asp:HiddenField runat ="server" ID ="hidValue" Value ='<%# DataBinder.Eval(Container.DataItem, "ID") %>' />
                </td>
            </tr>
          </ItemTemplate>
         </asp:Repeater>
         </div>
      </td>
      </tr> 
  </ItemTemplate>
  <FooterTemplate>
    </table>
  </FooterTemplate>
   </asp:Repeater>

后台vb

  Protected Sub ItemCheckBox_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim i As Integer = 0
        Dim j As Integer = 0
        For i = 0 To Me.rptMainMenu.Items.Count - 1
            Dim cbxAll As CheckBox = rptMainMenu.Items(i).FindControl("cbxAll")
            Dim rptMenuDetail As Repeater = Me.rptMainMenu.Items(i).FindControl("rptMainDetail")
            If sender.Equals(cbxAll) Then
                Dim rptMenuDetail As Repeater = Me.rptMainMenu.Items(i).FindControl("rptMainDetail")
                For j = 0 To rptMenuDetail.Items.Count - 1
                    Dim cbxMenuDetail As CheckBox = rptMenuDetail.Items(j).FindControl("cbxMenuDetail")
                    cbxMenuDetail.Checked = cbxAll.Checked
                Next
            End If        Next
    End Sub

但是有没有方法可以再前台js中控制的,有的话还请分享下

原创粉丝点击