检查网格视图中的复选框是否被选中
check if checkboxes in GridView are ticked
我在 GridView 中有三个复选框,但用户只能选择一个复选框。因此,如果他们选择第一个复选框,我需要提醒他们他们无法选择其他两个复选框。
<asp:GridView CssClass="tblResults" runat="server" ID="dgDetails"
OnRowDataBound="dgDetails_ItemDataBound"
DataKeyField="ID" AutoGenerateColumns="false"
AlternatingRowStyle-BackColor="#EEEEEE">
<HeaderStyle CssClass="tblResultsHeader" />
<Columns>
<asp:TemplateField HeaderText="Approved1">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkApproved1" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Approved2">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkApproved2" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Approved3">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkApproved3" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码隐藏:
protected void dgDetails_ItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView gv = sender as GridView;
Quote.QuoteDetails qd = e.Row.DataItem as Quote.QuoteDetails;
CheckBox chkApproved1 = e.Row.FindControl("chkApproved1") as CheckBox;
CheckBox chkApproved2 = e.Row.FindControl("chkApproved2") as CheckBox;
CheckBox chkApproved3 = e.Row.FindControl("chkApproved3") as CheckBox;
}
}
我尝试在查询中使用这样的东西:
$('#<%= chkApproved1.ClientID %>').change(function () {
if($(this).is(":checked")) {
}
});
但这会导致错误:名称"chkApproved1"在当前上下文中不存在。
那么如何检查 GridView 中的复选框是否已被勾选呢?
如果要在选中第一个复选框时发出警报,请使用以下脚本
$(document).ready(function () {
$("table[id$='dgDetails']").find("input[id*='chkApproved1']").change(function () {
if ($(this).is(":checked")) {
alert('Hi');
}
});
});
这是可以帮助您防止其他复选框检查是否选中第一个的代码。
if ($(this).is(":checked")) {
if ($(this).attr("id").indexOf("chkApproved1") != -1) { var1 = 1 }
if ($(this).attr("id").indexOf("chkApproved2") != -1) { var2 = 1 }
if ($(this).attr("id").indexOf("chkApproved3") != -1) { var3 = 1 }
if (var1 == 1 && var2 == 1 && var3 == 1) {
var2 = 0; var3 = 0;
$("table[id$='dgDetails']").find("input[id*='chkApproved2']").attr("checked", false);
$("table[id$='dgDetails']").find("input[id*='chkApproved3']").attr("checked", false);
}
else if (var1 == 1 && var2 == 1) {
if ($(this).attr("id").indexOf("chkApproved1") != -1) { var1 = 0 }
if ($(this).attr("id").indexOf("chkApproved2") != -1) { var2 = 0 }
alert('You can''t select this checkbox2');
$(this).attr("checked", false);
}
else if (var1 == 1 && var3 == 1) {
if ($(this).attr("id").indexOf("chkApproved1") != -1) { var1 = 0 }
if ($(this).attr("id").indexOf("chkApproved3") != -1) { var3 = 0 }
alert('You can''t select this checkbox3');
$(this).attr("checked", false);
}
}
else {
if ($(this).attr("id").indexOf("chkApproved1") != -1) { var1 = 0 }
if ($(this).attr("id").indexOf("chkApproved2") != -1) { var2 = 0 }
if ($(this).attr("id").indexOf("chkApproved3") != -1) { var3 = 0 }
}
希望这个帮助
相关文章:
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- JQuery:如何检查某个类的所有复选框是否都在表单中选中
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- j查询检查复选框是否被选中,然后向输入字段添加值
- 检查网格视图中的复选框是否被选中
- 是否可以使用谷歌地图标记作为复选框
- JQuery:如何检查复选框是否被选中并向字段添加属性
- 选中复选框是否使用jquery选中
- 是否可以只使用CSS和HTML而不使用Javascript来完全自定义复选框
- 如何根据是否选中复选框来更改变量
- 如何检查复选框是否在特定表单中被选中
- 如何在HTML和JavaScript中检查复选框是否为真
- 如何确定复选框是否已选中
- jquery复选框树是否支持“;展开直到节点“;或“;扩展父母”;当程序地调用“;检查”;
- 如何检查页面加载时是否选中复选框,如果选中,则显示表单
- 类事件处理程序未检测是否选中复选框
- 是否可能复选框获胜't检查数据库中的行中是否有值
- 如何验证是否选中了3个复选框
- 如何在javascript selenium中选中复选框并获取是否选中复选框