我有一个淘汰表,在我的代码中显示一些数据,它看起来像这样。
<tbody data-bind="foreach: currentList">
<tr>
<td data-bind="text: someString, click: getDetails"></td>
<td data-bind="text: someOtherString, click: getList"></td>
</tr>
</tbody>
现在显示两列,在第二列中,我希望它最初显示为纯文本而不显示下拉列。我希望能够单击第二列中的字段,并使用我存储的数据列表动态创建下拉列表。我完全不知道如何使用jquery和knockout完成此任务,任何帮助都将不胜感激!
答案 0 :(得分:1)
您可能在单元格中有更多内容,并使用“if”绑定在flag设置为true时显示:
<tbody data-bind="foreach: currentList">
<tr>
<td data-bind="text: someString, click: getDetails"></td>
<td data-bind="text: someOtherString, click: getList">
<div data-bind="if: showDropdown, template: { name: 'options-template', data: $root.options}">
</div>
</td>
</tr>
</tbody>
因此getList函数只会将showDropdown属性设置为true。将单击事件绑定在单元格本身上可能不是一个好主意,因为此单元格内的每次单击都会触发此事件。
对于下拉选项,您可以在视图模型root上使用模板和数据作为options属性。这只是一个样本。