2013-10-16 76 views
-2

asked这在谷歌组上,但他们似乎并不知道。复选框没有入住检查

当我检查我的复选框后,它会自动重新取消选中。 当我添加一个扩展器并在其中放置一个调试器时,该复选框确实被选中,但是在继续复选框变为未选中状态之后。即使存储的观察值是真实的,我使用Chrome Inspector进行了检查。另外,当我使用Chrome Inspector更改observable时,复选框会保持检查状态。

我的复选框:

<input type="checkbox" data-bind="checked: vergelijk" /> 

我布尔的定义:

vergelijk: ko.observable(true) 

这是一个新的复选框所以不能成为它的任何现有的代码。此外,它会非常奇怪的jQuery代码,找到复选框,并取消选中它们。据我所知,没有这样的代码。

找到复选框容器上的点击处理程序,显然它捕获了点击事件。 而我在JSFiddle中有这样一个examplehttp://jsfiddle.net/MrFoxWork/g3era/

+0

你对可观察性还有什么作用? –

+1

你能举一个[小提琴](http://jsfiddle.net/)来演示吗?没有看到更多的代码就无法回答你的问题。 –

+6

还有更多的问题,因为它显然不会发生,只是你已经显示:http://jsbin.com/iyAHAvo/1(来源:http://jsbin.com/iyAHAvo/1/edit )。这是您应该始终创建[最小,复制测试用例](http://sscce.org)的经典理由。 99%的时间,在这样做的过程中,你会找到答案。另外1%的时间,你有一些不错的东西,包含你可以把你的问题(也提供了一个链接http://jsbin.com或http://jsfiddle.net - 但要小心jsFiddle奇怪的默认把你的脚本放在'onload'处理程序中)。 –

回答

2

点击绑定处理程序din't返回任何东西,显然这导致复选框保持未选中状态。为了使动作起作用,绑定处理程序必须返回true。