Связанное входное значение Knockout.js не обновляется, когда я использую jquery .val ('xyz')


86

У меня есть вход, который имеет привязку к значению.

Когда я обновляю значение с помощью метода jquery .val (), измененное значение не отражается в viewModel.

Мне нужно использовать jQuery, чтобы установить это значение. Как я могу запустить обновление viewModel?

Ответы:


142

.val()не запускает событие изменения. Итак, вы можете просто сделать. val("blah").change()для КО, чтобы забрать изменения.


3
Что, если вы не контролируете это val()? Есть ли способ для jQuery прослушивать val()элементы?
cherouvim

+1 Пару часов я пытался понять, почему при изменении значения с помощью функции getElementById моя модель просмотра не обновлялась. Спасибо!
Самуэль

1
Но на самом деле позволить нокауту делать все манипуляции с домом - лучший подход, imho.
Tom

Убедитесь, что вы data-bindтоже проверили свое заявление. У меня была эта ошибка, прежде чем я понял, что это должно быть, data-bind="value:location"а НЕ data-bind="value:location()"
jmb-mage

Спасибо. Это делает мою работу за меня.
DriLLFreAK100
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.