Knockout.js foreach的敲除表单绑定
我有一个表单,您可以在其中添加多个任务,每个任务都有一个标题和一个选项,如果您选择了一个特定选项,我想添加一个表,您可以在其中添加一个或多个注释。我搞不懂的是如何将任务的笔记绑定到该特定任务,以及如何聆听每个任务所选的选项?这是我第一次使用击倒Knockout.js foreach的敲除表单绑定,knockout.js,Knockout.js,我有一个表单,您可以在其中添加多个任务,每个任务都有一个标题和一个选项,如果您选择了一个特定选项,我想添加一个表,您可以在其中添加一个或多个注释。我搞不懂的是如何将任务的笔记绑定到该特定任务,以及如何聆听每个任务所选的选项?这是我第一次使用击倒 <fieldset data-bind="foreach: tasks"> Title:<input type="text" data-bind="value: title"/> Option: <sele
<fieldset data-bind="foreach: tasks">
Title:<input type="text" data-bind="value: title"/>
Option: <select data-bind="options: $root.option, optionsCaption: 'Select', value: selectedOption"></select>
<table>
<tbody data-bind="foreach: notes ">
<tr>
<td><input type="text" data-bind="value: note"/></td>
</tr>
</tbody>
</table>
<button data-bind="click: addRow">Add note</button>
</fieldset>
<button data-bind="click: addTask">Add task</button>
标题:
选项:
添加注释
添加任务
如果为每个任务赋予selectedOption属性和notes属性,则它们的值将绑定到其父任务
看看这个(小提琴:):
var注释=函数(注释){
var self=这个;
self.note=ko.可观察(note);
}
var任务=功能(标题、注释){
var self=这个;
self.title=ko.可观察(title);
self.selectedOption=ko.observable();
self.notes=ko.observearray();
对于(var i=0;i
var Note = function(note){
var self = this;
self.note = ko.observable(note);
}
var Task = function(title, notes){
var self = this;
self.title = ko.observable(title);
self.selectedOption = ko.observable();
self.notes = ko.observableArray();
for (var i = 0; i< notes.length; i++){
self.notes.push(new Note(notes[i]));
}
self.addRow = function(){
self.notes.push(new Note("newNote"));
}
}
var VM = function(){
var self = this;
self.option = [
"option1",
"option2"
]
self.tasks = ko.observableArray([
new Task("task1", ["note1.1", "note1.2"]),
new Task("task2", ["note2.1", "note2.2"]),
new Task("task3", ["note3.1", "note3.2"])
])
self.addTask = function(){
self.tasks.push(new Task("newTask", ["newNote1", "newNote2"]));
}
}
ko.applyBindings(new VM());