我有一系列复选框,我想收集所选的一个.复选框在div中,当div被点击时,复选框也应该被检查:
var oCheckBox = $($(this).find('.chkSocialMediaItem').get(0)); oCheckBox.attr('checked',!$(oCheckBox).attr('checked'));
这个工作很好,但是KnockoutJS没有拿起这个变化,所以不会更新我所选择的项目上的计数器.
我读到你需要触发更改事件的地方.但是当我在复选框上收听更改事件时,实际上会被触发.
任何帮助将不胜感激,
谢谢 !
更新:
我找到了一个“淘汰赛”的解决方案.
在我的div中,我做了一个数据绑定“点击”,并更改了该函数中的检查值:
<script type="text/html" id="Template"> <div class="item" data-bind="click: DivClicked"> <input type="checkBox" data-bind="checked: IsASelectedItem" class="chkSocialMediaItem"/> </div> </script> function SocialMediaSearchItem() { this.IsASelectedItem = ko.observable(); this.DivClicked = function () { this.IsASelectedItem(!this.IsASelectedItem()); }; }