选中复选框后,使用 jquery 获取数据网格值
本文关键字:数据 获取 数据网 网格 jquery 使用 复选框 | 更新日期: 2023-09-27 18:36:38
我在 c# 的网格视图中有一个复选框模板字段,这个字段还有一个隐藏字段,后面有 id。我想使用 jQuery 在单击复选框时引发事件以获取数据键值,以便我可以通过 jQuery 运行查询并将选中的项目添加到数据库中。我见过在单击整个按钮时获取数据键的示例,但我希望在网格视图中单击的每个复选框上都发生这种情况。我目前在尝试访问 id 时遇到"未定义"。
网格视图中的 C#
<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;
});
});
如果有多个字段包含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 内的复选框检查事件上获取数据密钥名称值的脚本
<script type="text/jscript">
$(document).ready(function () {
var gridResults = document.getElementById('<%= grdCateogry.ClientID %>');
$("form input:checkbox").click(function (e) {
var id = $(this).next($('#IDVal')).val();
alert(id);
return false;
});
});
</script>
这是网格视图
<asp:GridView ID="grdCateogry" DataKeyNames="CategoryId" runat="server">
<Columns>
<asp:TemplateField HeaderText ="Try" ItemStyle-Width="20px">
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
<asp:HiddenField ID="IDVal" runat="server" Value='<%# Eval("CategoryId") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>