Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选中复选框时,使用jquery获取数据网格值_C#_Jquery_Gridview_Checkbox_Datakey - Fatal编程技术网

C# 选中复选框时,使用jquery获取数据网格值

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=

我在c#中的gridview中有一个复选框模板字段,该字段还有一个隐藏字段,后面有id。我想使用jQuery在点击复选框时引发一个事件,以获取一个datakey值,这样我就可以通过jQuery运行查询并将选中的项添加到数据库中。我看到过一些例子,当单击一个整体按钮时会得到数据键,但我希望在gridview中单击的每个复选框上都会出现这种情况。我当前在尝试访问id时得到“未定义”

C#在gridview中

<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()