我正在使用淘汰赛和微风,现在正在处理 SELECT html 标记。
这是实际的实现:
<select data-bind="value: vehicleId, foreach: $root.vehicles()">
<option data-bind="text: registration(), value: id()"></option>
</select>
在运行时,它看起来像这样:
出于测试目的,我重构了这段代码。所以我把foreach
选择移开。
这是新的实现:
<select data-bind="value: vehicleId">
<!-- ko foreach: $root.vehicles() -->
<option data-bind="text: registration(), value: id()"></option>
<!-- /ko -->
</select>
当我测试我的页面时,我注意到微风在第二个实现中没有按预期工作。当我更新数据(在任何输入中)时,微风不再检测到我的更新。通常,当我更新页面上的某些内容时,我知道datacontext.hasChanges()
这是真的。然后我显示按钮,如Save
, Cancel
。现在情况并非如此。如果我回到原来的实现,它会再次起作用。对我来说很奇怪。
任何想法?
谢谢。
编辑
我也看看这个:knockout.js: using a containerless foreach on a <select> failed in Internet Explorer 8
但它似乎也不起作用。