我正在尝试使用这个演示:
http://knockoutjs.com/examples/cartEditor.html
但是,在使用的数据集中,例如:sampleProductCategories - 在示例中它是静态的。
我希望在通过jQuery getJson调用API后填充该数据集。
因此标记将存在于页面上 - 但是它还没有数据来填充视图。
当sampleProductCategories列表更改时,如何重新标记标记以重绘自身?
例如 - 这部分可以重新绘制/反弹到数据吗?
<tbody data-bind='foreach: lines'>
<tr>
<td>
<select data-bind='options: sampleProductCategories, optionsText: "TypeName", optionsCaption: "Select...", value: TypeID'></select>
</td>
<td data-bind="with: category">
<select data-bind='options: products, optionsText: "name", optionsCaption: "Select...", value: $parent.product'></select>
</td>
谢谢,
标记
答案 0 :(得分:1)
您可以使用observableArray
作为选项,然后通过AJAX请求填充它们。用户界面将相应更新。
以下是购物车编辑器的更新示例,该编辑器使用空observableArray
并在1秒后使用静态数据在setTimeout中更新它(就像您使用AJAX调用一样)。 http://jsfiddle.net/rniemeyer/TmUDc/