コレクションを選択マルチにバインドしています。コレクション内のいくつかの項目には「Selected」:「True」というプロパティがあります。これらを選択マルチの selectedOptions として設定したいと思います。ko.utils を使用することを考えました。 .arrayFilter を使用してこれらを除外し、selectedOptions として設定しますが、私の人生では、これを行うための最良の方法を見つけることができません。
誰でも助けることができます.ko.utils.arrayFilterがここに追加された以外のすべてを含むFiddlerページが設定されています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);