在jquery中,如何将只能为true / false的变量保存到隐藏字段中并在回发后检索值?
答案 0 :(得分:3)
jQuery部分没什么特别的,只是在字段中放置一些值的文本表示,然后从字段中读取它:
$('#myHiddenField').val(myBoolean?'1':'0');
myBoolean = $('#myhiddenField').val() == '1';
但是,隐藏字段中的值本身不能在回发中存活。您必须使用runat="server"
将字段转换为服务器控件,将其更改为HiddenField控件,或者从Request.Form或Request.QueryString中读取值并将值放入放入新字段的字段中页。
答案 1 :(得分:3)
给出runat =“server”的输入,如下所示:
<input type="hidden" runat="server" id="hdnValue" value="0" />
或
<asp:HiddenField runat="server" id="hdnValue" ... />
使用以下脚本
var hiddenValue;
// On load
$(function()
{
// Get hidden field by ID
hiddenValue = $('#<%= hdnValue.ClientID %>');
// Get value
var value = hiddenValue.val();
alert(value);
// Set value
hiddenValue.val(1);
alert(hiddenValue.val());
});
请注意,Boolean不会将asp.Net bool.ToString()解析为true,而不是true。如果你使用它们,你会想要写一个小函数来检查value.toLowerCase()==“true”,然后再假设你有一个真值。