リピーター コントロールをバインドすると、チェック ボックスは次のようになります。
ここで 2 つの疑問があります。
グループ 1 のチェックボックスを選択すると、グループ 1 の下のすべての項目が選択されます。これどうやってするの ?
そして、クリックするとすべてのグループのすべてのアイテムを選択する「すべてを選択」ボタンがあります。チェックボックスはリピーター コントロール内にあるため、その処理方法がわかりません。
Group 1
Item 1
Item 2
Group 2
Item 3
Item 4
Group 3
Item 5
Item 6
ASPX :
<ol>
<asp:Repeater ID="rp_Groups" runat="server" OnItemDataBound="rp_Groups_ItemDataBound">
<ItemTemplate>
<ul>
<asp:CheckBox RepeatColumns="2" runat="server" ID="chk_Group" Text='<%# Eval("category_type") %>' Value='<%# Eval("service_type_category_id") %>' onclick="OnGroupClick" />
<asp:CheckBoxList runat="server" ID="chkServiceType" style="padding-left:20px" DataValueField="ServiceTypeID" DataTextField="Name" EnableViewState="true"
></asp:CheckBoxList>
<br />
</ul>
</ItemTemplate>
</asp:Repeater>
</ol>
<script type="text/javascript">
function OnGroupClick(group) {
for(item in group.getElementsByTagName('input')) {
item.checked = group.checked;
}
}
function selectAll() {
$("#<%=chkServiceType.ClientID %> input[type=checkbox]").each(function () {
this.checked = true;
})
}
</script>