我有一个复选框并显示在GridView的每一行上,我想找到已勾选的复选框的ID。
GridView代码:
<asp:GridView style="width:75%"
ID="gvCVRTDetails"
ShowHeaderWhenEmpty="true"
CssClass="tblResults"
runat="server"
OnRowDataBound="gvCVRTDetails_RowDataBound"
DataKeyField="ID"
AutoGenerateColumns="false"
allowpaging="false"
AlternatingRowStyle-BackColor="#EEEEEE">
<HeaderStyle CssClass="tblResultsHeader" />
<Columns>
<asp:BoundField DataField="Description" HeaderText="Checklist Items"></asp:BoundField>
<asp:TemplateField HeaderText ="Checked?" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:CheckBox ID="chkChecked" runat="server" onchange=UpdateCheckedBox(this,this.value)></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我尝试使用onchange=UpdateCheckedBox(this,this.value)
和onchange=UpdateCheckedBox(this.id,this.checked)
,但它没有返回ID。
我添加了一个简单的函数,因此我可以检查复选框的ID:
function UpdateCheckedBox(id, checked) {
alert(id);
alert(checked);
}
如果我使用this.id
,则警告消息为空。如果我使用this
则表示[object htmlSpanElement]。使用this.checked
或this.value
只会返回undefined
答案 0 :(得分:0)
function UpdateCheckedBox(e) {
alert(e.checked);
}
和复选框更改控件应调用如下:
<asp:CheckBox ID="chkChecked" runat="server" onclick=UpdateCheckedBox(this)></asp:CheckBox>