在我的aspx标记中,我有以下定义:
<asp:HiddenField runat="server" ClientIDMode="Static" ID="hidField" />
我有如下的C#代码,它给我的隐藏字段一个值:
hidField.value = check().ToString();
假设check是一个返回true的函数,为简单起见。
我制作了JS代码来执行以下操作:
_myBool = $("#hidField");
alert(_myBool.value);
此警报未定义。
出于调试目的,我逐步看到了在C#中,hidField.value确实是真的。 我试着提醒_myBool.length返回1和_myBool返回[Object object]所以我没有在undefined上调用undefined。
答案 0 :(得分:2)
试试这个
_myBool = $("#hidField"); //my bool is a jQuery Object
alert(_myBool.val()); //can only get value with .val()
OR
_myBool = $("#hidField")[0]; //[0] gets the element in the object
alert(_myBool.value); //can use the javascript .value
答案 1 :(得分:2)
你忘了美元符号,也使用了val()函数
alert($("#hidField").val());
答案 2 :(得分:1)
缺少 $ 符号..
var _myBool = $("#hidField");
alert(_myBool[0].value); // DOM Object
alert(_myBool.val() ); // jQuery Object
另请注意,选择器可能无法使用runat="server"
属性,因为它会预先添加内容占位符。
这是一个更好的选择器
var _myBool = $('[id*="hidField"]');
答案 3 :(得分:0)
确保使用正确的ID:
_myBool = $("#<%= hidField.ClientID %>").val();
在页面加载时查看您的源并检查该字段。机会是ID不是“hidField”。上面的代码是正确的。