gpt4 book ai didi

javascript - knockout 复选框问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:48:22 24 4
gpt4 key购买 nike

我有一个复选框,我想在其上绑定(bind)一个函数,该函数在复选框被选中时执行某些操作,而在复选框未被选中时执行某些操作。

但复选框不会保持选中状态。它在函数被调用时被检查,但在退出函数后它被取消检查。我做错了什么?

这是我正在尝试做的示例: http://jsfiddle.net/GSeFD/

JS:

function MyViewModel() {
var self = this;
self.click = function(data,event) {
if ($('#checkbox').is(':checked')){
console.log('checked');
}
else{
console.log('unchecked');
}
}
}
ko.applyBindings(new MyViewModel());

HTML:

<input type="checkbox" id="checkbox" data-bind="click: $root.click" />

最佳答案

click 处理程序中,如果您想触发默认的浏览器事件(例如选中复选框),您需要返回 true

self.click = function(data,event) {
if ($('#checkbox').is(':checked')){
console.log('checked');
}
else{
console.log('unchecked');
}
return true;
}

演示 JSFiddle.

另请参阅文档:Note 3: Allowing the default click action

顺便也应该考虑使用checked binding如果您正在使用复选框。

关于javascript - knockout 复选框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16191110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com