Tengo una entrada HTML con un enlace en el valor.
<input type = 'text' value = 'http://www.link.com' id = 'link' />
Estoy usando jQuery para cambiar el valor en un evento determinado.
$('#link').val('new value');
El código anterior cambia el valor del cuadro de texto pero no cambia el valor en el código (value = 'http://www.link.com' permanece sin cambios). Necesito que el valor = '' cambie también.
javascript
jquery
Lukas
fuente
fuente
in the code
? ¿Está mirando la fuente original (por lo tanto, sin modificar) de la página?Respuestas:
Úselo en su
attr
lugar.$('#link').attr('value', 'new value');
manifestación
fuente
setAttribute
o jQueryattr
también afectará el valor del elemento DOM: jsfiddle.net/a8SxF/1.html()
, seguirá habiendo el mismo valor anterior, no importa, si usas.val('new value')
oattr('value', 'new value')
... :(Cambiar la propiedad del valor no cambia el
defaultValue
. En el código (recuperado con.html()
oinnerHTML
), el atributo de valor contendrá ladefaultValue
propiedad, no la del valor.fuente
para ampliar un poco la respuesta de Ricardo: https://stackoverflow.com/a/11873775/7672426
http://api.jquery.com/val/#val2
acerca de val ()
fuente
Este es solo un escenario posible que me sucedió. Bueno, si ayuda a alguien, entonces genial: escribí una aplicación complicada que en algún lugar del código usé una función para borrar todos los valores de los cuadros de texto antes de mostrarlos. Algún tiempo después traté de establecer un valor de cuadro de texto usando jquery val ('valor') pero no me di cuenta de que justo después de eso invoqué el método ClearAllInputs ... así que esto también podría suceder.
fuente
Mi problema similar fue causado por tener caracteres especiales (por ejemplo, puntos) en el selector.
La solución fue escapar de los caracteres especiales:
fuente
fuente
Para mí, el problema fue que cambiar el valor de este campo no funcionó:
Ninguna de las soluciones anteriores funcionó para mí, así que investigué más y encontré:
De acuerdo con la Especificación de Evento de Nivel 2 del DOM: El evento de cambio ocurre cuando un control pierde el foco de entrada y su valor ha sido modificado desde que ganó el foco. Eso significa que el evento de cambio está diseñado para activar el cambio mediante la interacción del usuario. Los cambios programáticos no hacen que se active este evento.
La solución fue agregar la función de disparo y hacer que desencadenara un evento de cambio como este:
fuente
¡Verifique más de un elemento con una identificación no única! Esa era mi situación con foreach loop y duplicación de mi identificación.
fuente