Knockout.js 无法在knockoutjs中选中复选框
我有以下代码示例: 我试图使复选框具有正常的选中/取消选中行为。在我将onclick事件添加到每个复选框之前,它工作正常。此onclick事件调用此方法:Knockout.js 无法在knockoutjs中选中复选框,knockout.js,knockout-2.0,Knockout.js,Knockout 2.0,我有以下代码示例: 我试图使复选框具有正常的选中/取消选中行为。在我将onclick事件添加到每个复选框之前,它工作正常。此onclick事件调用此方法: self.saveIsMeasureChecked = function (item) 此方法结束后,复选框返回到选中/取消选中之前的旧状态-这使您看起来根本无法更改checbox的状态 您需要从单击事件处理程序返回true,以触发浏览器默认行为(另请参见:允许默认单击操作部分) 演示 然而,在Knockout中似乎有一些不太正确的地
self.saveIsMeasureChecked = function (item)
此方法结束后,复选框返回到选中/取消选中之前的旧状态-这使您看起来根本无法更改checbox的状态 您需要从单击事件处理程序返回
true
,以触发浏览器默认行为(另请参见:允许默认单击操作部分)
演示
然而,在Knockout中似乎有一些不太正确的地方,因为当您在复选框上使用值
绑定和单击
绑定时,您需要第一次单击两次才能更改复选框
但是,如果您正在使用attr
绑定来设置值,那么一切似乎都正常
<input name="cbIsMeasureChecked" type="checkbox"
data-bind="attr: {value: foodId},
checked: isMeasureChecked,
click: $root.saveIsMeasureChecked" />
演示
<input name="cbIsMeasureChecked" type="checkbox"
data-bind="attr: {value: foodId},
checked: isMeasureChecked,
click: $root.saveIsMeasureChecked" />