2016-01-19 85 views
0

我有一个复选框,并出现在GridView的每一行上,我想查找已勾选的复选框的ID。如何获取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.checkedthis.value刚刚返回undefined

回答

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

和复选框变更控制应该按以下称:

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

警报仍表示不确定 – user123456789

+0

对不起,改变的onclick电平变化来。 –

+0

我已经更新了我的答案。请尝试一下。 –