3

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

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

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

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

谢谢您的帮助。

4

1 回答 1

12

问题是change事件处理程序阻止了浏览器的默认操作,因为这是 Knockout 默认执行的操作。如果要允许浏览器的默认操作,则必须true从处理程序返回:

event: { change: function() { $parent.addOtherAddress($data); return true; } }
于 2013-02-21T00:55:28.730 回答