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

86

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

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

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

nnpath
источник

Ответы:

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