我正在将一个集合绑定到一个 select multi,集合中的一些项目具有属性“Selected”:“True”,我想将这些设置为 select multi 中的 selectedOptions,我想我会使用 ko.utils .arrayFilter 将它们过滤掉,然后将它们设置为 selectedOptions 但对于我来说,我无法找出最好的方法来做到这一点。
可以帮助,我有一个 Fiddler 页面设置,除了 ko.utils.arrayFilter 添加在这里http://jsfiddle.net/dumbarse/TpnZh/3/。
<select data-bind="options:availableThings,optionsText: 'Title', selectedOptions: selectedThings" size="5" multiple="true"></select>
Var initialThingsModel = [
{"Id":1,"Title":"First","Selected":"True"},
{"Id":2,"Title":"Next"},
{"Id":3,"Title":"Another","Selected":"True"},
{"Id":4,"Title":"Last"}
];
var viewModel = {
availableThings: ko.observableArray(initialThingsModel),
selectedThings: ko.observableArray(),
};
ko.applyBindings(viewModel);