Knockout.js valor de entrada enlazado no actualizado cuando uso jquery .val ('xyz')


86

Tengo una entrada que tiene un enlace de nocaut al valor.

Cuando actualizo el valor usando el método .val () de jquery, el valor cambiado no se refleja en viewModel.

Necesito usar jQuery para establecer este valor. ¿Cómo puedo activar la actualización de viewModel?

Respuestas:


142

.val()no activa el evento de cambio. Entonces, puedes hacerlo. val("blah").change()para que KO recoja los cambios.


3
¿Qué pasa si no tienes control sobre eso val()? ¿Hay alguna forma de que jQuery escuche los val()elementos?
Cherouvim

+1 Intenté averiguar durante un par de horas por qué cuando cambio un valor con la función getElementById, mi modelo de vista no se actualizó. ¡Gracias!
Samuel

1
Pero dejar que el nocaut haga toda la manipulación del dom es un mejor enfoque, en mi humilde opinión.
Tom

Asegúrese de revisar su data-bindestado de cuenta también. Tuve este error antes de data-bind="value:location" data-bind="value:location()"
darme

Gracias. Esto hace el trabajo por mí.
DriLLFreAK100
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.