编程语言
首页 > 编程语言> > javascript-淘汰赛检查属性无法正常工作

javascript-淘汰赛检查属性无法正常工作

作者:互联网

嗨,我正在尝试使用带有剔除的复选框,我的行为似乎有问题,这是我的代码:

postModel = ko.observable('false');   
<input type="checkbox" data-bind="checked:postModel.closeSession" id="dummid" checked>
<span data-bind="text: postModel.closeSession"></span>

当我运行我的应用程序时,这就是我得到的:

这是我希望得到的结果,但是当我单击复选框时,我希望它可以将observables值更改为true,但这就是我得到的结果:

再次单击,似乎可以观察到的值更改为true:

如果我再次单击,可观察值再次为假.

我的期望是,当选中复选框时,observable设置为true,而未选中时,设置为false.

我是在做错什么,还是被检查的属性应该如何工作?

解决方法:

如果您按如下方式在视图模型/标记上定义属性,则它将按预期工作.

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

选中下面的小提琴中的框,以查看文本更新为正确的值.

http://jsfiddle.net/LnwQt/1/

标签:knockout-js,javascript
来源: https://codeday.me/bug/20191121/2055814.html