我有一系列复选框,我想收集选定的复选框。该复选框是div的和被点击div时复选框应该得到遏制,以及:当使用Jquery更改值时,KnockoutJS属性不会更新
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());
};
}
这是唯一的解决办法?我真的很想看到一个Jquery解决方案。
感谢您的快速响应!我会检查测试星期一,当我回来@工作:) –
哦,这是方便的,任何想法如何找出什么'属性'一个控件必须以及viewModel? –
目前没有办法做到这一点,除了可能自己解析'data-bind'属性,然后使用属性名称和数据('data ['somePropertyName']') –