2
我使用Knockout.js构建购物车系统。目前,我将“Orders”存储在一个名为lineItems的observableArray中,并使用knockout foreach生成包含所有必需表单输入的表格行。
<tbody data-bind="foreach: lineItems">
<tr>
<td><input data-bind="value: upc" name="Orders.upc"></td>
<td><input data-bind="value: name" value="Orders.name"></td>
...
</tr>
</tbody>
一切工作就好了,但是,我想编辑的name属性为每个表单输入,以便通过淘汰赛的foreach循环添加的每一行都有一个唯一的名称。具体来说,我想结束HTML从:
<tr>
<td><input data-bind="value: upc" name="Orders.upc"></td>
<td><input data-bind="value: name" value="Orders.name"></td>
...
</tr>
<tr>
<td><input data-bind="value: upc" name="Orders.upc"></td>
<td><input data-bind="value: name" value="Orders.name"></td>
...
</tr>
要这样:
<tr>
<td><input data-bind="value: upc" name="Orders.0.upc"></td>
<td><input data-bind="value: name" value="Orders.0.name"></td>
...
</tr>
<tr>
<td><input data-bind="value: upc" name="Orders.1.upc"></td>
<td><input data-bind="value: name" value="Orders.1.name"></td>
...
</tr>
我真的不知道如何去了解这个(我是新来的淘汰赛。 JS)。我想我需要使用属性绑定以及$ index上下文,但我不知道如何去做这件事。
这工作。在你发布这个答案之前,我从字面上理解了这一点。出于某种原因,我认为这会变得更加复杂。 – user3671307