C# 选择asp.net复选框列表中的所有项目
NET和C 我想要一个带有全选项目的复选框列表 当这个特殊的项目 选择后,将选择所有其他 也 从中删除所选内容时 这个项目,也将是从所有 其他项目。 勾选/取消勾选 任何其他项目将只有一个 对该特定项目的影响 无论的选择状态如何 选择所有项目。 我正在寻找一个jquery解决方案 以下是我的codebehind中的数据绑定代码:C# 选择asp.net复选框列表中的所有项目,c#,jquery,asp.net,checkboxlist,selectall,C#,Jquery,Asp.net,Checkboxlist,Selectall,NET和C 我想要一个带有全选项目的复选框列表 当这个特殊的项目 选择后,将选择所有其他 也 从中删除所选内容时 这个项目,也将是从所有 其他项目。 勾选/取消勾选 任何其他项目将只有一个 对该特定项目的影响 无论的选择状态如何 选择所有项目。 我正在寻找一个jquery解决方案 以下是我的codebehind中的数据绑定代码: IList<Central> Centrals = new CentralProvider().GetAllCentralsAsList(); Centra
IList<Central> Centrals = new CentralProvider().GetAllCentralsAsList();
Centrals.Insert(0, new Central(){Central_ID = 999, Central_Name = "Select All"});
CentralChecks.DataSource = Centrals;
CentralChecks.DataTextField = "Central_Name";
CentralChecks.DataValueField = "Central_ID";
CentralChecks.DataBind();
以下是标记:
<div class="CentralDiv" id="CentralDiv">
<h2>Centrals:</h2>
<span>
<asp:TextBox ID="CentralTextBox" runat="server" CssClass="textbox">Centrals</asp:TextBox>
<img id="CentralArrow" src="images/down_arrow.jpg" style="margin-left: -22px; margin-bottom: -5px" />
</span>
<div id="CentralEffect" class="ui-widget-content">
<asp:CheckBoxList ID="CentralChecks" runat="server" onclick="GetSelectedCentralValue();">
</asp:CheckBoxList>
</div>
</div>
请注意,页面上有多个复选框列表,因此任何解决方案都必须记住这一点。以下是一个示例:
代码:
以下是复选框的html格式:
<input type='checkbox' ref='checkall' class='select-all'/>
<input type='checkbox' />
<input type='checkbox' />
<input type='checkbox' />
<input type='checkbox' />
<input type='checkbox' />
<input type='checkbox' />
单击全选可以遍历所有列表项。并维护一个状态标志,以维护是否选中了所有复选框
if(boolAllChecked) {
foreach (ListItem listItem in CentralChecks.Items)
{
listItem .Selected = false;
}
}
else {
foreach (ListItem listItem in CentralChecks.Items)
{
listItem .Selected = true;
}
}
类似于您可以用于任何复选框列表的内容,只需将myCheckBoxList的cssclass添加到每个CheckBoxList控件:
$('.myCheckBoxList :checkbox').eq(0).click(function() {
var toggle = this.checked;
$('.myCheckBoxList :checkbox').attr("checked", toggle);
});
扩展了mdmullinax的精彩答案,我为全选行为提出了一个通用解决方案,该解决方案还取消了全选,即如果任何其他选项被取消选中,则为第一个选项,并在所有其他项目被选中时为全选打网线 当我从ASP.Net服务器端控件中注入脚本时,它也会在窗口加载时执行。安全总比后悔好:
$(window).load(function () {
var cbs = $('.myCheckBoxList :checkbox');
cbs.eq(0).click(function () {
var toggle = this.checked;
cbs.attr('checked', toggle);
});
cbs.slice(1).click(function () {
if (!this.checked) {
cbs.eq(0).attr('checked', false);
} else {
cbs.eq(0).attr('checked', cbs.slice(1).filter(':not(:checked)').length == 0);
}
});
});
有一种使用jquery在asp复选框列表中创建全选项的通用方法。 使用“全选”功能,表单上可以有多达个复选框列表控件。 你只需要确定一下 您的复选框列表具有allowSelectAll类 您将ListItem添加到复选框列表中,以允许用户选择 一切都是有价值的 chkBoxList.Items.Insert0,新ListItemAll,All 您只需要以下代码
<script>
$('.allowSelectAll :checkbox[value=All]').click(function () {
var toggle = this.checked;
$(this).closest('.allowSelectAll').find(":checkbox").attr("checked", toggle);
});
</script>
在下面的代码spinet中,我有4个复选框列表
<div >
<label>Experience 1</label>
<asp:CheckBoxList ID="chklstExp1" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<label>Experience 2</label>
<asp:CheckBoxList ID="chklstExp2" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<label>Experience 3</label>
<asp:CheckBoxList ID="chklstExp3" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<label>Location</label>
<asp:CheckBoxList ID="chklstLocation" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<asp:Button runat="server" ID="btnShowReport" OnClick="btnShowReport_Click" Text="Show Report"/>
</div>
我怎样才能只给复选框列表中的第一个元素一个特定的ref或class值呢?你只需要为你的select all item做一个单独的复选框我知道你已经回答了很多PHP问题。我不确定您对asp.net中的CheckBoxList控件有何体验,但据我所知,这是无法做到的。也许您可以提供一个代码示例来帮助我?谢谢,虽然这不是一个jquery解决方案,但这是完美的-优雅的和适应性强的+1并标记为答案。谢谢,我同意。实现起来非常简单。只需在呈现复选框列表后插入脚本@pvaju896请创建一个新问题,然后您可以引用此问题
<div >
<label>Experience 1</label>
<asp:CheckBoxList ID="chklstExp1" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<label>Experience 2</label>
<asp:CheckBoxList ID="chklstExp2" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<label>Experience 3</label>
<asp:CheckBoxList ID="chklstExp3" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<label>Location</label>
<asp:CheckBoxList ID="chklstLocation" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>
<asp:Button runat="server" ID="btnShowReport" OnClick="btnShowReport_Click" Text="Show Report"/>
</div>