У меня есть элемент управления select2 с множественным выбором для отображения ролей пользователя, и я получаю выбранную коллекцию запросов с сервера, а select2 требует только идентификатора выбранного элемента, но не всей коллекции.Select2 с нокаутом, как отображать выбранные элементы в списке?
<select multiple="multiple"
data-bind="options: AllRoles, optionsValue: 'Id', optionsText: 'Name', selectedOptions: selectedRole, select2: {}"></select>
Я выбрал роли как коллекцию в наблюдаемом массиве, но 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
Вы можете использовать вычисленный наблюдаемый для создания массива выбранных идентификаторов: http://jsfiddle.net/WGukF/1/ – badsyntax