【发布时间】:2018-09-01 03:35:32
【问题描述】:
使用 Knockout JS:
我有一个要求。
我有一个包含 2 个静态列的表格,每个列都有一个文本框。我在表格外还有一个添加行按钮,每行都有一个删除行按钮。
当用户点击添加行时,它会在表格中添加一行,我可以看到两列,每列都有文本框。如果需要,用户可以通过单击添加行来添加更多行,然后单击删除行以删除行。
这一切都已设置好,可以正常工作:
https://jsfiddle.net/aman1981/xmd1xobm/14/
我的问题是还有一个获取列按钮。当用户单击此按钮时,我会获取一个列列表,并希望将这些列与表中现有列的标题添加到表中。这些列中的每一个也需要有一个文本框。
例如,我将列列表为:
var columnsList = 'name, address, zip';
我不确定如何动态添加列。非常感谢您的意见。
这是我的桌子的设置:
<table class="table table-bordered">
<thead class="mbhead">
<tr class="mbrow">
<th>SIID</th>
<th>Comment</th>
</tr>
</thead>
<tbody data-bind="foreach: data">
<tr>
<td>
<input type="text" data-bind="text: SIID" class="form-control textbox" />
</td>
<td>
<input type="text" data-bind="text: Comment" class="form-control textbox" />
</td>
<td>
<input type="button" value="Remove Row" data-bind="click: $parent.removeRow" class="btn btn-danger" />
</td>
</tr>
</tbody>
<div class="col-xs-12 col-sm-6">
<input type="button" value="Add Row" class="btn btn-primary" data-bind="click: addRow" />
<input type="button" value="Get Columns" class="btn btn-primary" data-bind="click: addColumns" />
</div>
有人吗?
【问题讨论】:
-
有趣的问题,首先你应该让你的 html in thead,tbody 动态。在视图中使用
data-bind="html://your html from vm"并在添加行/列单击框架您的 html 并将其推送到查看。 -
@aman 让我知道您是否可以正常工作。我也在寻找这样的解决方案
-
@supercool 你有这方面的例子吗