Establecer valor de entrada oculta con jquery

93

Estoy tratando de establecer el valor del campo oculto a continuación usando jQuery.

<input type="hidden" value="" name="testing" />

Estoy usando este código:

var test = $("input[name=testing]:hidden");
test.value = 'work!';

Pero no funciona. ¿Qué pasa con mi código?

TonyM
fuente
4
Para mayor claridad, jQuery devuelve una colección de elementos DOM. La prueba no se convierte en el elemento DOM, se convierte en una matriz. Para usar javascript simple a la .value, puede hacer la prueba [0] .value o recorrer la colección si hay más de uno. De lo contrario, test.val ('work!') Funcionaría para usted ya que es un método jQuery en lugar de test.value, que es una propiedad del objeto del elemento DOM.
Scottux

Respuestas:

129

Deberías usar en vallugar de value.

<script type="text/javascript" language="javascript">
$(document).ready(function () { 
    $('input[name="testing"]').val('Work!');
});
</script>
Barba siniestra
fuente
33

Esto funcionó para mí:

$('input[name="sort_order"]').attr('value','XXX');
gzveri
fuente
28
$('input[name="testing"]').val(theValue);
Haim Evgi
fuente
1
extraño, se supone que debe hacerlo
Haim Evgi
No hay ningún problema debido a "Type = 'hidden'" en lugar de "type = 'hidden'", ¿verdad? No estoy seguro acerca de los atributos de mayúsculas y minúsculas. Podría estar agarrando pajitas ...
Hogsmill
1
Creo que el problema aquí es el selector ... Creo que debería ser input[name="testing"-> probar entre comillas ... Siempre que establecer algún valor no funcione, intente obtener el elemento primero ... Si no lo obtiene, el el problema no es con .val (), sino probablemente con el selector
Thomas Mulder
7
var test = $('input[name="testing"]:hidden');
test.val('work!');
Dat Nguyen
fuente
7

Suponga que tiene una entrada oculta, llamada XXX, si desea asignar un valor a lo siguiente

<script type="text/javascript">

    $(document).ready(function(){
    $('#XXX').val('any value');
    })
</script>
arteagasoft
fuente
Para su información, las respuestas de solo código generalmente se marcan como de baja calidad y generalmente se eliminan. Intente publicar algún contexto / explicación con su respuesta si desea que se quede y (posiblemente) obtenga una votación a favor.
sgress454
El selector que está usando ( #XXX) es para el idatributo. Si "nombró" una entrada XXX, el selector sería input[name="XXX"].
krummens
4

Para hacerlo con jquery, hazlo de esta manera:

var test = $("input[name=testing]:hidden");
test.val('work!');

O

var test = $("input[name=testing]:hidden").val('work!');

Vea trabajar en este violín .

Maykonn
fuente
0

No es necesario establecer un nombre, basta con dar una identificación.

<input type="hidden" id="testId" />

y que con jquery puede usar el método 'val ()' como se muestra a continuación:

 $('#testId').val("work");
nzrytmn
fuente