在jQuery中获取隐藏字段的值

3
我有一段简单的jQuery代码,我试图获取一个ASP:HiddenField的值并显示它,但是它没有显示任何内容。
这个隐藏域在表单中,不在任何表格或div内。
<asp:HiddenField ID="hdnID" runat="server" />

$(document).ready(function () {
    $("#btnload").click(function () {
        alert($("#hdnID").text());
    });
});

我在页面加载时设置了隐藏字段的值,然后当我点击按钮时,我想使用alert显示该值。但每次都显示空的警告框。

我做错了什么?


5
应该使用 $("#hdnID").val() 吗? - guradio
1
使用 $(selector).val(); - ameenulla0007
<asp:HiddenField ID="hdnID" runat="server" /> 实际上在浏览器中被渲染成什么? - j08691
打开页面的视图源代码,检查隐藏字段ID是否为hdnID或其他内容。原因是如果隐藏字段位于任何子页面内或使用了任何主页面,则服务器控件的ID会发生更改。 - Nitin Garg
2个回答

6

尝试使用以下代码代替 alert($("#hdnID").val());


嗯,我现在感觉好愚蠢。我一开始是试图使用标签来完成这个任务,当我改用隐藏字段时,我没有想到将文本更改为值(val)。非常感谢。 - S. Arzoo

3
如果以上方法仍然无法解决问题: 如果您的隐藏字段嵌套在其他控件中,ASP.NET将更改控件的名称,因此最好选择“以名称结尾”的选择器id$。 例如: alert($('[id$="hdnID"]').val()); 或者让ASP.NET填充控件的名称: alert($('#<%= hdnID.ClientID%>').val()); 两种方法都可以确保引用嵌套的隐藏字段。

1
最好的一个。适用于所有人。谢谢Mike。 - Milo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接