我有一个源自母版页的页面。在这个页面上,我有一个隐藏字段(“hfUser”)。如何使用JQuery访问此“hfUser”控件并获取/设置其值? 我试过这个变种:
$(document).ready(function() {
var test = $("#hfUser").val();
alert(test);
});
但是test = undefined。我猜我的选择器错了,但我不知道如何获得asp隐藏字段。有什么想法吗?
由于
答案 0 :(得分:6)
如果您使用的是Asp.net控件,服务器将会破坏控件ID。它将一堆无关的控制树层次结构信息添加到id中。您需要引用正在渲染的实际ID,这可以通过控件上的ClientID属性(hfUser.ClientID)获得,或者以不同的,更迂回的方式访问您的控件,比如找到控件父级,然后搜索它孩子们找到了你的控制权。
如果您不必使用asp.net HiddenField控件,请尝试使用常规的旧html输入。
答案 1 :(得分:3)
访问服务器端控件(使用runat属性集)的另一种方法是使用jQuery选择器中的方括号。
像这样:
$("[id$='hidImgSource']").val()
选择ID为'hidImgSource'的任何元素作为名称的结尾部分。所以它会找到受损的ID。
以下是jQuery Selectors page的链接,其中介绍了更多选项。
答案 2 :(得分:2)
如果隐藏字段是ASP.NET控件,请查看此博客文章以帮助您使用ASP.NET控件的jQuery选择器
http://www.foliotek.com/devblog/extending-jquery-to-select-asp-controls/
答案 3 :(得分:0)
这样做:
$(document).ready(function()
{
var test = $("**#<%= hfUser.ClientID %>**").val();
alert(test);
});