C# 为中继器内的复选框创建标签

C# 为中继器内的复选框创建标签,c#,jquery,asp.net,webforms,asprepeater,C#,Jquery,Asp.net,Webforms,Asprepeater,如果您不需要runat=server标签,您可以使用ItemIndex为=创建自己的标签 $(document).on('change', '.chbSelectAll', function (e) { var selectAllValue = $(this).prop('checked') var panel = $(this).closest('.panelCountry'); var checkboxes = panel.find('input[type=checkbo

如果您不需要
runat=server
标签,您可以使用ItemIndex为=创建自己的标签

$(document).on('change', '.chbSelectAll', function (e) {
   var selectAllValue = $(this).prop('checked') 
   var panel = $(this).closest('.panelCountry');
   var checkboxes = panel.find('input[type=checkbox]:not(.chbSelectAll)');
   checkboxes.prop('checked',selectAllValue);                             
 });

全选
但是为什么不使用aspnet复选框呢?那你就不会有这个问题了

<input type="checkbox" class="chbSelectAll" id="CheckBox_<%# Container.ItemIndex %>" />
<label for="CheckBox_<%# Container.ItemIndex %>">SelectAll</label>


我将尝试项目索引,实际上我尝试了asp:复选框。由于某种原因,复选框被拆分为包含复选框和标签的范围。我不知道如何在这个范围内将javascript中的复选框作为目标,然后勾选列表中的所有复选框。itemindex工作得很好,谢谢:)我已将此答案标记为正确!我仍然有兴趣为什么asp复选框分成一个跨度等,但我有工作要做!感谢您的帮助,这正是aspnet webforms创建复选框控件的方式。您可以创建自己的类来覆盖创建控件的默认方式,但这要复杂得多。“我已将此答案标记为正确!”在我看来,它没有标记为正确。
$(document).on('change', '.chbSelectAll', function (e) {
   var selectAllValue = $(this).prop('checked') 
   var panel = $(this).closest('.panelCountry');
   var checkboxes = panel.find('input[type=checkbox]:not(.chbSelectAll)');
   checkboxes.prop('checked',selectAllValue);                             
 });
<input type="checkbox" class="chbSelectAll" id="CheckBox_<%# Container.ItemIndex %>" />
<label for="CheckBox_<%# Container.ItemIndex %>">SelectAll</label>
<asp:CheckBox ID="CheckBox1" runat="server" Text="SelectAll" CssClass="chbSelectAll" />