【发布时间】:2014-08-14 01:34:30
【问题描述】:
我正在尝试通过 optgroup 使用 knockoutJS 实现多选数据绑定。此外,我们还想使用 select2 的搜索和显示功能。
当使用 html 控件直接添加项目时,一切正常。您可以在上面的示例中选择一些国家,然后单击查看按钮,可以看到这些国家的代码被很好地检索到了。但是,我想以另一种方式填充这些项目。准确地说,我创建了一个命令来刷新包含所选项目的可观察数组,并强制选择可用选项列表中的第一项(在我们的示例中是国家老挝)。此命令在单击第二个按钮时执行。
单击后一个按钮后,您可以通过单击第一个按钮检查可观察的 selectedCountries 是否包含预期值。不幸的是,UI 控件没有刷新,你知道怎么做吗?我的视图的 html databiding 看起来像
<select class="multi-select" data-bind="foreach: availableCountries,selectedOptions:selectedCountries" multiple="multiple">
<optgroup data-bind="attr: {label: label}, foreach: children">
<option data-bind="text: display, value: code"></option>
</optgroup>
</select>
【问题讨论】:
标签: javascript html knockout.js jquery-select2