[英]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 }
}
希望這個幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.