Gridview检查所有复选框问题
Gridview Checking all checkboxes issue
我从这里使用gridview的选择所有复选框功能。这里使用的脚本有一个问题。
如果我选择标题复选框,所有模板(行)复选框被选中。如果然后取消选中所有模板复选框,则头复选框仍然选中。如何取消选择标题复选框在这种情况下?
请建议!
首先,我将在CheckBox1
中添加一个Css class,以便稍后在class="chk-all"
中使用。
然后,在ItemTemplate复选框中添加一个javascript函数
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick="UnselectAllOption()" />
</ItemTemplate>
然后,使用一些jQuery选择有class="chk-all"
的复选框。
function UnselectAllOption(){
$('.chk-all').attr("checked", false");
}
我将其设置为未选中,只要单击其他复选框中的一个,因为没有选中,而您选择了一个,所以HeaderTemplate中的复选框不应该被选中。或者所有的复选框都已经被选中,这意味着HeaderTemplate中的复选框不应该被选中,因为你正在将其他复选框中的一个更改为不被选中。
编辑
注。这个答案需要你添加一个脚本引用到jQuery javascript库。
这是。net的方式,但是jQuery的解决方案要干净得多:
脚本:
function resetParent(parentRow)
{
document.getElementById(parentRow).checked = false;
}
标记:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Caption="Pick Some Technologies" BackColor="White" BorderColor="#CC9966" OnRowDataBound="ObjectDataSource1__RowDataBound"
BorderStyle="None" BorderWidth="1px" CellPadding="4">
<Columns>
<asp:TemplateField HeaderText="Include" SortExpression="Include">
<HeaderTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick="changeAllCheckBoxes(this)" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Technology" />
</Columns>
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
</asp:GridView>
后台代码:
private CheckBox parentCheckBox = null;
protected void ObjectDataSource1__RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
parentCheckBox = (CheckBox)e.Row.FindControl("CheckBox1");
}
if(e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox childCheckBox = (CheckBox)e.Row.FindControl("CheckBox1");
childCheckBox.Attributes.Add("onclick","resetParent('" + parentCheckBox.ClientID + "')");
}
}
相关文章:
- 复选框问题
- webkit浏览器中的复选框问题
- AJAX 调用 PHP 复选框问题
- JavaScript 相互排斥的复选框问题
- Jquery复选框问题
- 某些动态生成的复选框问题的事件
- Angular:表单和复选框问题上的$setPristine
- Javascript复选框问题
- JavaScript (jQuery)禁用复选框问题
- 淘汰复选框问题
- Javascript无线电/复选框问题
- MDL复选框问题:不希望标签激活复选框
- IE中的复选框问题
- EXT JS网格SelModel复选框问题
- Gridview检查所有复选框问题
- PHP数组复选框问题,保留'right'提交后复选框
- Jquery每个或自定义复选框问题
- 选择所有复选框问题(jQuery)
- 流星模板和火焰的复选框问题
- Ext.NET中的复选框问题