2010-12-07 17 views
133

¿Cómo puedo acceder al atributo de la etiqueta value usando jQuery?jQuery access input oculto valor

+2

duplicado posible de [Obtener el valor del campo oculto - jQuery] (https://stackoverflow.com/ preguntas/3091374/get-value-from-hidden-field-jquery) – EvilDr

Respuesta

261

Se puede acceder a los valores de campos ocultos con val(), al igual que lo puede hacer en cualquier otro elemento de entrada:

<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()); 

Aquellos todas significan lo mismo en este ejemplo.

+10

alert ($ ('input [type = hidden] #foo'). val()); Esto encuentra la variable oculta con id foo. Esta búsqueda es más específica. –

+4

@MohammedRafeeq alert ($ ('# foo'). Val()); Es tan específico. Porque una identificación es única en el DOM. Por lo tanto, siempre encontrará un solo elemento si el html sigue los estándares. A menos que use la declaración para verificar si el elemento está oculto o no. –

+1

¿qué es más rápido? $ ('# foo') o $ ('input: hidden # foo')? Sospecho que es la segunda vez que recibí más información de búsqueda, pero no estoy seguro de cómo se implementó, así que no sé si mi sensación es correcta. EDIT: ok, tengo mi respuesta gracias a Abel comment, id only, es decir, #foo es más rápido. – comte

2

No hay nada especial en <input type="hidden">:

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

Hay un selector de jQuery para ello:

// 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'); 

le dará todos los campos de entrada ocultos y filtro por los que tienen una específica type="".

3

Si desea seleccionar un campo oculto individuo, puede seleccionar a través de los diferentes selectores de jQuery:

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


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

Entrada oculta no tiene una propiedad de clase de estilo –

2

para obtener el valor, utilice:

$.each($('input'),function(i,val){ 
    if($(this).attr("type")=="hidden"){ 
     var valueOfHidFiled=$(this).val(); 
     alert(valueOfHidFiled); 
    } 
}); 

o:

var valueOfHidFiled=$('input[type=hidden]').val(); 
alert(valueOfHidFiled); 

Para establecer el valor, utilice:

$('input[type=hidden]').attr('value',newValue); 
2

Si usted tiene una asp.net HiddenField necesita:

Para acceder HiddenField Valor:

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

Para establecer HiddenFieldValue

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

Ten cuidado si desea recuperar un valor booleano de un campo oculto!

Por ejemplo:

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

(Una entrada como esta se representará por ASP MVC si utiliza @Html.HiddenFor(m => m.SomeBoolean).)

A continuación, el siguiente devolverá una cadena 'False', no un valor lógico JS!

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

Si desea utilizar el booleano de cierta lógica, utilice el siguiente lugar:

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