我的复选框描述如下:
<input id="checkbox1" type="checkbox" data-bind="
click: function () { handle_compare($element) },
checked: is_product_compared">
.handle_compare()只是反转了可观察的“is_product_compared”,问题是允许这个复选框的正常行为,如果我点击它,看起来是双开关,我从来没有看到变化。
如果我将handle_compare绑定到按钮 - 一切正常,则复选框正常切换。有没有办法允许这两种绑定?
你可以在这里看到一个演示,按钮没问题,但是复选框有错误的行为。
答案 0 :(得分:3)
您需要内联点击处理程序才能返回true:
http://jsfiddle.net/g5rpcw2c/2/
或者:
<input id="checkbox1" type="checkbox" data-bind="
click: function () { handle_compare($element); return true; },
checked: is_product_compared">
或(因为handle_compare已经返回true):
<input id="checkbox1" type="checkbox" data-bind="
click: function () { return handle_compare($element) },
checked: is_product_compared">