knockoutjs确定是否在click事件上选中了复选框

时间:2016-02-19 10:21:18

标签: javascript jquery checkbox knockout.js

我有这个复选框控件:

<input type="checkbox" data-bind="attr: { id: 'prefix_12', attributeid: 12, poseId: $parent.Id }, click: $root.addEffect" />
                                            Add Option

事件代码:

self.addEffect = function (c, event) {
    var target = event.target;
}

我想知道的是如何确定每个点击事件是否选中或取消选中复选框?

由于

2 个答案:

答案 0 :(得分:0)

您可以使用event.currentTarget

if (event.currentTarget.checked) {
  // do the stuff
}
else {
 // do the stuff
}

答案 1 :(得分:0)

淘汰方式是将复选框与布尔属性绑定,如此

<input type="checkbox" data-bind="checked: someBoolProperty" />

在viewmodel中

self.someBoolProperty = ko.observable();

而不是使用点击事件,订阅属性

self.someBoolProperty.subscribe(function(newValue){
    if (newValue){
        // do whatever you want to do for checked checkbox
    } else {
        // unchecked
    }
}, self);