如何获取网格视图中复选框的 ID

本文关键字:视图 复选框 ID 网格 何获取 获取 | 更新日期: 2023-09-27 18:31:08

我有一个复选框,出现在 GridView 的每一行上,我想找到已勾选的复选框的 ID。

网格视图的代码:

<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则说[对象htmlSpanElement]。使用 this.checkedthis.value 只返回未定义

如何获取网格视图中复选框的 ID

function UpdateCheckedBox(e) {
    alert(e.checked);
}

和复选框更改控制应调用如下:

<asp:CheckBox ID="chkChecked" runat="server" onclick=UpdateCheckedBox(this)></asp:CheckBox>