javascript - 在 Gridview 内的 jQuery 中获取隐藏字段值

标签 javascript jquery .net gridview hidden-field

我需要使用 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/

相关文章:

javascript - 如何在另一个函数中调用reduce函数

javascript - 无需对任何 DOM 元素执行用户操作即可触发文件输入字段

javascript在按下回车时设置一个变量值

javascript - DOM 中的元素或 Javascript 对象中的元素哪个对性能更好?

c# - XML 签名适用于随机 RSA key ,但不适用于证书中的 key

javascript - 如何在 Javascript 文件而不是命令行中设置环境变量?

javascript - 让 ScrollSpy 工作我缺少什么?

Javascript 表编辑器 -> MySQL CREATE 语句

c# - 获取在 .NET Core 中实现接口(interface)的所有类型

.net - 将 header 添加到机器上的所有* HTTP 请求