C# 选中复选框时,使用jquery获取数据网格值
我在c#中的gridview中有一个复选框模板字段,该字段还有一个隐藏字段,后面有id。我想使用jQuery在点击复选框时引发一个事件,以获取一个datakey值,这样我就可以通过jQuery运行查询并将选中的项添加到数据库中。我看到过一些例子,当单击一个整体按钮时会得到数据键,但我希望在gridview中单击的每个复选框上都会出现这种情况。我当前在尝试访问id时得到“未定义” C#在gridview中C# 选中复选框时,使用jquery获取数据网格值,c#,jquery,gridview,checkbox,datakey,C#,Jquery,Gridview,Checkbox,Datakey,我在c#中的gridview中有一个复选框模板字段,该字段还有一个隐藏字段,后面有id。我想使用jQuery在点击复选框时引发一个事件,以获取一个datakey值,这样我就可以通过jQuery运行查询并将选中的项添加到数据库中。我看到过一些例子,当单击一个整体按钮时会得到数据键,但我希望在gridview中单击的每个复选框上都会出现这种情况。我当前在尝试访问id时得到“未定义” C#在gridview中 <ItemTemplate> <asp:CheckBox ID=
<ItemTemplate>
<asp:CheckBox ID="CheckBox" CssClass="checkbox" runat="server" />
<asp:HiddenField ID="idnum" runat="server" Value='<%# Eval("id") %>' />
</ItemTemplate>
jQuery
$(document).ready(function () {
var gridResults = document.getElementById('<%= grdResults.ClientID %>');
$("form input:checkbox").click(function (e) {
var id = $(this).next('#idnum').val();
alert(id);
return false;
});
});
$(文档).ready(函数(){
var gridResults=document.getElementById(“”);
$(“表单输入:复选框”)。单击(函数(e){
var id=$(this.next('#idnum').val();
警报(id);
返回false;
});
});
如果有多个字段带有ID=“idnum”
,您可能应该将其更改为class=“idnum”
。添加类后,可以使用以下方法获取值:
var gridResults = $(e.target).next('.idnum').val();
如果idnum
只是每个字段不同的一个示例,那么可以使用var id=$('#idnum').val()代码>
编辑:已更改e.target.next('.idnum').val()
到$(e.target).next('.idnum').val()
将元素转换为jQuery对象如果有多个带有ID=“idnum”
的字段,您可能应该将其更改为class=“idnum”
。添加类后,可以使用以下方法获取值:
var gridResults = $(e.target).next('.idnum').val();
如果idnum
只是每个字段不同的一个示例,那么可以使用var id=$('#idnum').val()代码>
编辑:已更改e.target.next('.idnum').val()
到$(e.target).next('.idnum').val()
将元素转换为jQuery对象//这是在GridView内的复选框检查事件上获取datakeyname值的脚本
$(文档).ready(函数(){
var gridResults=document.getElementById(“”);
$(“表单输入:复选框”)。单击(函数(e){
var id=$(this.next($('#IDVal')).val();
警报(id);
返回false;
});
});
//这是在GridView中的复选框检查事件上获取datakeyname值的脚本
$(文档).ready(函数(){
var gridResults=document.getElementById(“”);
$(“表单输入:复选框”)。单击(函数(e){
var id=$(this.next($('#IDVal')).val();
警报(id);
返回false;
});
});
试图在控制台中使用您的代码时,它告诉我e.target.next不是一个函数。很抱歉回复太慢,它可能应该是$(e.target).next('.idnum').val()代码>试图在控制台中使用您的代码时,它告诉我e.target.next不是一个函数。很抱歉回复太慢,它可能应该是$(e.target).next('.idnum').val()代码>