当我使用jquery .val('xyz')时,未更新Knockout.js绑定输入值


86

我有一个输入,该输入具有一个绑定到该值的敲除键。

当我使用jquery的.val()方法更新值时,更改后的值不会反映在viewModel中。

我需要使用jQuery设置此值。如何触发对viewModel的更新?

Answers:


142

.val()不触发更改事件。因此,您可以这样做。val("blah").change()让KO接受更改。


3
如果您无法控制该val()怎么办?jQuery有没有办法听val()元素?
cherouvim 2013年

+1我试图弄清楚几个小时,为什么当我使用getElementById函数更改值时,我的视图模型没有更新。谢谢!
塞缪尔

1
但是,真正让淘汰赛完成所有dom操作是一种更好的方法,恕我直言。
汤姆(Tom)

确保也检查您的data-bind陈述。我有这个错误,然后才意识到应该是data-bind="value:location"不是 data-bind="value:location()"
jmb-mage

谢谢。这为我完成了工作。
DriLLFreAK100
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.