입력 필드에서 누군가가 채우는 것에 기반하여 내 페이지 하단에 여러 라벨을 자동 생성하려고합니다.knockout foreach가 입력 필드의 값에 바인딩되었습니다.
그래서 누군가가 "2"로 채워지면 2 개의 라벨이 나타납니다. 입력란이나 아무 것도 남기지 않고 입력했을 때 선호됩니다.
이 내가 무엇을 가지고 : 난 그냥 이미 값을 가진 observableArray
에 "aantalMensenArray
"을 만들 경우
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>
자바 스크립트
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;
})}
그것은 작동합니다. 그러나 표시된 레이블의 양을 변경할 수는 없습니다.
당신은 바이올린을 만들거나 전체보기 모델 코드를 표시 할 수 있습니다 'afterkeydown'? – Akhlesh
이것은 당신이'whimsy'를 찾으시는이 http://jsfiddle.net/A7XY3/28/을 확인하십시오. 도움이 되었으면 좋겠다. –