1
我想創建一個動態表與敲除,我可以在其中添加元素到observableArray。我的代碼到了可以創建元素的地步,但我無法刪除它們,以及在模板中創建的元素沒有正確「觀察」,因爲我的意思是根本沒有。敲除模板綁定不跟蹤可觀察數組內的元素
這裏是我的代碼:
<table class="table table-bordered">
<thead>
<tr>
<td><a id="ATS" href="#Add"><i class="icon-plus-sign"></i></a></td>
<td>Name</td>
<td>Duration</td>
<td>Qty Employees</td>
<td>Requires Labor</td>
<td></td>
</tr>
</thead>
<tbody data-bind="foreach: Jobsteps">
<tr data-bind="template: 'AddStep'">
<%--template goes here--%>
</tr>
</tbody>
</table>
視圖模型:
var MyDataViewModel = {
Jobsteps: ko.observableArray()
}
$('#ATS').on('click', function() {
MyDataViewModel.Jobsteps.push({ StepName: "", Duration: "", QTYEmployees: "", RequiresLabor: true });
});
$('#RTS').on('click', function() {
MyDataViewModel.Jobsteps.remove(this);
});
模板
<td><a href="#Add"><i class="icon-plus-sign"></i></a></td>
<td>
<input type="text" data-bind="value: StepName" /></td>
<td>
<input type="text" data-bind="value: Duration" class="input-mini" />
</td>
<td>
<input type="text" data-bind="value: QTYEmployees" class="input-mini" />
</td>
<td>
<input type="checkbox" data-bind="checked: RequiresLabor" />
</td>
<td>
<a id="RTS" href="#Rem"><i class="icon-minus-sign"></i></a>
</td>
'MyDataViewModel.Jobsteps.remove(this);''this「引用觸發事件的元素,而不是要刪除的項目。 –
啊,很高興知道ty :) stil a KO n00b –