我有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