我想创建一个带有淘汰赛的动态表,我可以在其中将元素添加到 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>