您好我正在尝试使用带有淘汰赛的复选框,而我似乎遇到的问题是这里的行为是我的代码:
postModel = ko.observable('false');
<input type="checkbox" data-bind="checked:postModel.closeSession" id="dummid" checked>
<span data-bind="text: postModel.closeSession"></span>
当我运行我的应用程序时,这就是我得到的:
这是我期望获得的。但是当我点击复选框时,我希望它将observables值更改为true,但这就是我得到的:
另一次点击,似乎observable将其值更改为true:
如果我再次点击,则observable再次为false。
我的期望是当检查checbox时,observable设置为true,如果未选中,则设置为false。
我做错了什么,或者这是被检查的财产应该如何运作?
答案 0 :(得分:3)
如果您在视图模型/标记上定义属性,如下所示,它将按预期工作。
<强> JS 强>
var ViewModel = function()
{
self = this;
self.closeSession = ko.observable(true);
}
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
<强>标记强>
<input type="checkbox" data-bind="checked:closeSession" id="dummid" checked>
<span data-bind="text: closeSession"></span>
<强>的jsfiddle 强>
选中下方小提示框,查看文本更新为正确值。