jQuery访问输入隐藏值

如何使用jQuery访问<input type="hidden">标记的value属性?

463064 次浏览

您可以使用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());

在这个例子中,这些都意味着同样的事情。

<input type="hidden">

$('input[type="hidden"]').val()

有一个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=""

如果要选择单个隐藏字段,可以通过jQuery的不同选择器进行选择:

<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/>




$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class

要获取值,请使用:

$.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);

最有效的方法是通过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.

如果您有ASP.NET隐藏域,则需要:

要访问隐藏字段值:

$('#<%=HF.ClientID%>').val()  // HF = your hiddenfield ID

设置HiddenFieldValue

$('#<%=HF.ClientID%>').val('some value')   // HF = your hiddenfield ID

如果要从隐藏字段中检索布尔值,请注意!

例如:

<input type="hidden" id="SomeBoolean" value="False"/>

(如果使用@Html.HiddenFor(m => m.SomeBoolean),则此类输入将由ASP MVC呈现。)

那么下面将返回一个'False'的字符串,而不是一个JS布尔值。

var notABool = $('#SomeBoolean').val();

如果要对某些逻辑使用布尔值,请改用以下内容:

var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }

最通用的方法是按名称取值。它的输入或选择表单元素类型并不重要。

var value = $('[name="foo"]');