Knockout foreach绑定到输入字段中的值

时间:2014-10-25 15:19:36

标签: javascript knockout.js

我想根据某人在输入字段中填写的内容,自动生成页面底部的多个标签。

所以当有人填写“2”时,我想要弹出2个标签,最好不要在没有离开输入字段的情况下输入它。

这就是我所拥有的:

HTML

<div class="form-group">
      <label class="control-label" for="if_aantalMensen">
            Hoeveel extra mensen wil je inschrijven?
      </label>
      <div>
            <input type="text" class="form-control" id="if_aantalMensen" name="if_aantalMensen" 
                 data-bind="textInput: aantalMensen">
      </div>
</div>
<div data-bind="foreach: aantalMensenArray" class="form-group">
      <label><span data-bind="text: $index"></span></label>
</div>

的Javascript

var vm = {
aantalMensen: ko.observable(0),
aantalMensenArray: ko.computed(function() {
    var fields = [];
    for (var i = 0; i < self.selectedNumberOfFields(); i++) {
        fields.push(new Parameter());
    }
    return fields;
})}

如果我只是将“aantalMensenArray”变成已经包含值的observableArray,它就有效。但是,我不能让它改变显示的标签数量。

1 个答案:

答案 0 :(得分:0)

使用valueUpdate:&#39; afterkeydown&#39;

"http://jsfiddle.net/dpa6zk9j/"