【发布时间】:2013-05-17 15:23:33
【问题描述】:
有一个页面我有下表
<table>
<tbody data-bind="foreach: myfilters">
<tr>
<td data-bind="with: $root.iqReports">
<select data-bind="options: SelectedAttributes(), optionsText: function(SelectedAttributes){ return SelectedAttributes.NameHierarchy() + '.' + SelectedAttributes.LabelName() }, optionsCaption:'Select a Field...'"></select>
</td>
<td>
<select data-bind="options: $root.filterOperators, value:operator, optionsText: 'operatorName'">
</select>
</td>
<td>
<input data-bind="value: criteria1" />
</td>
<td>
<input data-bind="value: criteria2" />
</td>
<td>
<select data-bind="options: $root.joinOperators, value:joinOperator, optionsText: 'joinName'">
</select>
</td>
<td>
<a class="attributeLink" data-bind="click: $root.removeFilter">Remove</a>
</td>
</tr>
</tbody>
</table>
我的过滤器集合正确填充了必要的元素。我正在努力的地方是我试图使用另一个可观察集合(iqReports)填充选择元素的第一个单元格。当我运行页面时,firebug 没有报告任何错误,但元素为空。
来自 Firebug 的 HTML:
<td data-bind="with: $root.iqReports"></td>
我意识到尝试以这种方式绑定有些问题,因为将选择元素移到工作之外。
谁能提供一些关于如何设置这种类型的绑定的见解?
更新:这是一个部分小提琴,显示了在创建过滤器和报告对象http://jsfiddle.net/rlcrews/e7z93/时使用的标记
-干杯
【问题讨论】:
-
你能做个小提琴吗?
-
您能否提供一个 iqReports 对象的示例?
-
@Jalayn 更新了部分小提琴
-
@rlcrews 我不确定我是否理解您想要实现的目标,但请查看 kadumel 的答案。在您的 HTML 中,它应该是“iqReport”,而不是“iqReports”,但除此之外......它似乎按预期工作。
标签: knockout.js