我在 IE 8 及以下未选中以下复选框时遇到问题:

<input type="checkbox" data-bind="event: { change: $parent.addOtherAddresses }, attr: { value: $index() + 1 }"  />

我正在尝试将整个对象传递给“addOtherAddresses”,它实际上确实可以并且工作正常,但是浏览器并未将复选框显示为实际被选中。

我尝试了其他解决方案,在复选框中显示检查但只返回复选框的 id 或值,我需要返回整个父数据对象,以便我可以根据检查的内容执行其他逻辑。

谢谢您的帮助。

最佳答案

问题是 change 事件处理程序阻止浏览器的默认操作,因为这就是 Knockout 在默认情况下所做的。如果要允许浏览器的默认操作,则必须从处理程序返回 true:

event: { change: function() { $parent.addOtherAddress($data); return true; } }

关于javascript - 使用 knockout 绑定(bind)在 IE 8 及以下版本中单击时未选中复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14992766/

10-11 22:22
查看更多