确定是否在Knockout.js中的单击事件上选中了复选框

tyky79it  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(155)

我有此复选框控件:

<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;
}

我想知道的是,如何确定每个单击事件的复选框是选中还是未选中?

bkhjykvo

bkhjykvo1#

淘汰的方法是将checkbox绑定到布尔属性,如下所示

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

在视图模型中

self.someBoolProperty = ko.observable();

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

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

v8wbuo2f2#

您可以使用event.currentTarget

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

相关问题