2011-07-12 27 views
24

¿Cómo puedo cambiar el valor de un cuadro de texto HTML que tiene propiedad de solo lectura usando jQuery?¿Cómo cambiar el valor de un cuadro de texto de solo lectura usando jQuery?

+0

Por qué la downvote? Parece una pregunta razonable, aunque concisa. –

+0

Se ha preguntado muchas veces antes (lo que significa que no buscó antes de publicar) y pude haber encontrado la respuesta en 10 segundos buscando en Google. – Phil

+16

@Phil Eso es gracioso porque cuando busqué en Google, obtuve esta página. –

Respuesta

16

Espera, ¿deseas eliminar la opción de solo lectura? Si es así:

$('textbox').removeAttr('readonly').val('Changed Value'); 

si no:

$('textbox').val('Changed Value'); 
+1

En las versiones actuales de jQuery, podría ser mejor usar '.prop ('readonly', false)' en lugar de '.removeAttr ('readonly')' – Blazemonger

12
$('my-textbox').val('new value') 

La única propiedad de sólo lectura se aplica al usuario la visualización de la página, no el código JavaScript que tiene acceso. que

3

No se olvide de escribir el # Por ejemplo

$('#my-textbox').val('new value'); 

Y tal vez puede ir a través Luego, después de todo, no se olvide de tratar de usar "" en lugar de ''

+3

¿Qué significa esto para las 3 respuestas ya existentes? – Sumurai8

0

publicación anterior pero aquí hay algo de información.

si tienes una entrada de sólo lectura (con la prueba de Identificación), que acaba de establecer el val con jQuery

$('#test').val(100); 

pero si nos fijamos en el código fuente HTML en el navegador y buscar en su actualización recientemente valor de entrada, Verás que el valor está vacío.

<input type="text" id="test" value /> 

así, para evitar esto, usted tiene que quitar de sólo lectura atributo antes de establecer el valor de la entrada y después fijar sólo lectura a la verdadera nuevo.

$('#test').prop('readonly',false); 
$('#test').val(100); 
$('#test').prop('readonly',true); 

y el resultado en html

<input type="text" id="test" value="100" /> 

este error al evitar la necesidad de u para enviar valores de la forma ...

Cuestiones relacionadas