【发布时间】:2015-05-13 12:26:27
【问题描述】:
我在 html 中有一个复选框,它绑定到 observable-field(微风实体的字段)。
<input id="chk1" type="checkbox" data-bind="checked: data().isBirthday"/>
绑定从两个方面都很好: 当我写代码时:
data().isBirthday(true);
复选框被选中。
当我写代码时
data().isBirthday(false);
复选框变为未选中状态。
当我通过单击鼠标选择复选框时 - 可观察字段的值为 true。 (或者当我用鼠标取消选中时 - 它的值为 false)。
有时,我需要通过代码更改复选框的选中属性,特别是通过使用 jquery 检索复选框。 (由于任何原因,我无法通过可观察领域做到这一点)。
我愿意:
var control = $('#chk1')[0];
control.checked = false;
但这不会改变绑定的 observable-field 的值。它继续保持 true 值。
我试图触发 change 事件:
$(control).change()
它没有帮助。 那么,我该怎么办?
这是一个例子:
【问题讨论】:
-
@AleJuliet 和您用于(取消)选中该框的代码都应该可以工作(经过测试)。还有其他东西阻止它工作,你没有在这里包括。或许提供带有完整代码的fiddle。
-
我已经添加了jsFiddle,但是,它没有成功正确加载淘汰赛库。如果你能为我做......谢谢!
标签: javascript jquery checkbox knockout.js breeze