我有一个从Knockout.JS可观察数组生成的表。正如您所看到的,在每一行中,我在最后一列中都有一个引导按钮,我在其中调用一个模态。在模态中,我有文本区域,我想用所选行填充。我已经尝试过data-bind =" value:Number"但它不会填充模态。有什么建议吗?
<tbody data-bind="foreach: notes" >
<tr>
<td data-bind="text: Number"></td>
<td data-bind="text: Date"></td>
<td data-bind="text: Time"></td>
<td data-bind="text: User"></td>
<td><a data-toggle="modal" data-target="#editnotemodal" class="btn btn-xs btn-default">Edit <span class="glyphicon glyphicon-edit"></span></a></td>
</tr>
</tbody>
答案 0 :(得分:0)
如果我是你,我会使模态的上下文依赖于像选定行ko.observable这样的东西。这将允许您动态共享上下文。一个例子 -
在您看来 -
<tbody data-bind="foreach: notes" >
<tr data-bind="click: setActiveRow">
<td data-bind="text: Number"></td>
<td data-bind="text: Date"></td>
<td data-bind="text: Time"></td>
<td data-bind="text: User"></td>
<td><a data-toggle="modal" data-target="#editnotemodal" class="btn btn-xs btn-default">Edit <span class="glyphicon glyphicon-edit"></span></a></td>
</tr>
</tbody>
<div class="modal" data-bind="with: activeRow">
<h2 data-bind="text: User"></h2>
<textarea data-bind="value: Number" />
</div>
在您的视图模型中
var activeRow = ko.observable();
function setActiveRow (sender) {
activeRow(sender);
}
现在每当你有一个activeRow并且模态显示时,它正确地数据绑定回你的表行。