如何使用jQuery访问<input type="hidden">
标记的value
属性?
答案 0 :(得分:303)
您可以使用val()
访问隐藏字段的值,就像您可以在任何其他输入元素上执行一样:
<input type="hidden" id="foo" name="zyx" value="bar" />
alert($('input#foo').val());
alert($('input[name=zyx]').val());
alert($('input[type=hidden]').val());
alert($(':hidden#foo').val());
alert($('input:hidden[name=zyx]').val());
在这个例子中,这些都意味着相同的事情。
答案 1 :(得分:15)
有一个jQuery选择器:
// Get all form fields that are hidden
var hidden_fields = $( this ).find( 'input:hidden' );
// Filter those which have a specific type
hidden_fields.attr( 'text' );
将为您提供所有隐藏的输入字段,并由具有特定type=""
的人过滤。
答案 2 :(得分:11)
最有效的方式是ID。
$("#foo").val(); //by id
您可以在这里阅读更多内容:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS
https://developers.google.com/speed/docs/best-practices/rendering?hl=it#UseEfficientCSSSelectors
答案 3 :(得分:5)
要获得价值,请使用:
$.each($('input'),function(i,val){
if($(this).attr("type")=="hidden"){
var valueOfHidFiled=$(this).val();
alert(valueOfHidFiled);
}
});
或强>
var valueOfHidFiled=$('input[type=hidden]').val();
alert(valueOfHidFiled);
要设置值,请使用:
$('input[type=hidden]').attr('value',newValue);
答案 4 :(得分:3)
如果要选择单个隐藏字段,可以通过jQuery的不同选择器选择它:
<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/>
$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class
答案 5 :(得分:2)
<input type="hidden">
没有什么特别之处:
$('input[type="hidden"]').val()
答案 6 :(得分:2)
如果你有一个asp.net HiddenField,你需要:
访问HiddenField值:
$('#<%=HF.ClientID%>').val() // HF = your hiddenfield ID
设置HiddenFieldValue
$('#<%=HF.ClientID%>').val('some value') // HF = your hiddenfield ID
答案 7 :(得分:1)
注意是否要从隐藏字段中检索布尔值!
例如:
<input type="hidden" id="SomeBoolean" value="False"/>
(如果您使用@Html.HiddenFor(m => m.SomeBoolean)
,ASP MVC将呈现此类输入。)
然后以下将返回一个字符串'False'
,而不是JS boolean!
var notABool = $('#SomeBoolean').val();
如果要对某些逻辑使用布尔值,请改用以下内容:
var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }
答案 8 :(得分:-1)
最通用的方式是按名称取值。输入或选择表单元素类型都没关系。
var value = $('[name="foo"]');