我需要使用 jQuery 获取 gridview 内隐藏字段的值。我已经尝试过,但它对我不起作用。
//代码:
<script type="text/javascript">
$(document).ready(function () {
$("table[id*='<%=grdTest.ClientID %>]' a[id*=getID]").click(function () {
alert($(this).closest("tr").find("input[type=hidden][id*=key]").val());
});
});
</script>
<asp:GridView ID="grdTest" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="key" runat="server" Value='<%#Eval("ID") %>'> </asp:HiddenField>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<a href="#" id="getID">Click</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
当我单击链接时,我应该获得该值。现在没有任何回应。我哪里错了?
最佳答案
我最近遇到了同样的问题,这就是我设法克服它的方法。我被引导相信你不能将类添加到隐藏字段,因为它是隐藏的,所以不需要它,所以你可以包装 <span class="hiddenfield"></span>
围绕 GridView 中的隐藏字段。然后,您可以将 span 的类作为目标,后跟 jquery 中的输入。所以你的代码将如下所示:
<asp:TemplateField>
<ItemTemplate>
<span class="hiddenfield">
<asp:HiddenField ID="key" runat="server" Value='<%#Eval("ID") %>'> </asp:HiddenField>
</span>
</ItemTemplate>
</asp:TemplateField>
alert($(this).closest("tr").find(".hiddenfield input").val());
这是我的第一个答案,所以我希望这会有所帮助,前提是它尚未排序。
关于javascript - 在 Gridview 内的 jQuery 中获取隐藏字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18693485/