我有select2控件與多個選擇顯示用戶的角色,我從服務器獲取selectedRoles集合,而select2只需要選定的項目的ID只有不是整個集合。Select2 with knockout如何顯示選擇的項目?
<select multiple="multiple"
data-bind="options: AllRoles, optionsValue: 'Id', optionsText: 'Name', selectedOptions: selectedRole, select2: {}"></select>
我在observableArray中選擇了角色作爲集合,但select2需要收集字符串以顯示選定的項目。
AllRoles = ko.observableArray([{Id: '111', Name: 'Test'}, {Id: '2222', Name: 'TTTTT'}]);
selectedRole = ko.observableArray(["111","2222"]);
??? selectedRoles = ko.observableArray([{Id: '111', Name: 'Test'}, {Id: '2222', Name: 'TTTTT'}]);
什麼來解決這個問題,我應該有單獨的字符串數組或我可以與現有的收集做到這一點最好的方法?
這裏是例子fiddle
您可以使用計算的觀察值來創建一個選定ID的數組:http://jsfiddle.net/WGukF/1/ – badsyntax 2013-04-04 09:39:26