KnockoutJS:当文本(数字)输入的值为>时启用/禁用复选框。 0

时间:2014-06-26 10:46:37

标签: knockout.js

我想问一个用户他/她有多少孩子,当他/她超过0时,一个复选框"单亲?"应启用,否则禁用。

我是KnockoutJS的新手,并完成了我在页面上的教程,但我似乎在这个非常基本的需求上失败了。我在这里做了一个jsfiddle:

http://jsfiddle.net/jmuheim/26x9v/

一件重要的事情是:当现有用户编辑他的信息时,会从数据库中读取子项数,因此KnockoutJS应该尊重<input value="xxx" />

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果numberOfChildren大于0

,我只使用了enable
<div>
  number of children:
  <input type="text" data-bind="value: numberOfChildren"/>
</div>

<div>
  <input type="checkbox" data-bind="value: singleParent, enable: numberOfChildren() > 0" />
  single parent?
</div>

这里的json来自server / db,然后分配给相关的observable,然后绑定到页面

$(function() {
    var modelFromServer = {
        numberOfChildren: 3,
        singleParent: false
    };

    ko.applyBindings(new ViewModel(modelFromServer));
});

var ViewModel = function (model) {
    self.numberOfChildren = ko.observable(model.numberOfChildren)
    self.singleParent = ko.observable(model.singleParent)
};

http://jsfiddle.net/j7srW/3/