2013-11-28 3 views
1

Я использую мультисенсор Kendo с директивами Angular-Kendo и с дистанционным источником данных. Я пытаюсь установить выбранные элементы, когда приложение запускается, но не повезло. Кто-нибудь может мне помочь, пожалуйста!Kendo Angular multiselect set selected values ​​

См Код здесь: JS Bin

ответ

2

Вы можете просто сделать собственную директиву, и передать элементы, которые вы хотите выбраны заранее атрибут MULTISELECT директивы value, взглянуть на this Plunk видеть директиву я использую ,

+0

Эй! Ваша специальная директива мне очень помогла. Я разветвил его и редактировал здесь (http://plnkr.co/edit/Z1E9FO8NAgpiSggSo3hY?p=info) Я добавил метод pop, чтобы напрямую изменять myItems. Но - когда это выполняется, изменение не отражается в мультивыборке. Как я могу изменить эту директиву для учетной записи? – Matt

1

Вы должны подключить в директиву события об изменении и отправить kendoEvent. Затем вы можете использовать поддерживаемые методы кендо на e.sender. Проверьте это на этом plunker

<select id="required" multiple="multiple" kendo-multi-select k-on-change="changed(kendoEvent)"> 
     <option>Steven White</option> 
     <option>Nancy King</option> 
     <option>Nancy Davolio</option> 
     <option>Robert Davolio</option> 
     <option>Michael Leverling</option> 
     <option>Andrew Callahan</option> 
     <option>Michael Suyama</option> 
     <option selected>Anne King</option> 
     <option>Laura Peacock</option> 
     <option>Robert Fuller</option> 
     <option>Janet White</option> 
     <option>Nancy Leverling</option> 
     <option>Robert Buchanan</option> 
     <option>Margaret Buchanan</option> 
     <option selected>Andrew Fuller</option> 
     <option>Anne Davolio</option> 
     <option>Andrew Suyama</option> 
     <option>Nige Buchanan</option> 
     <option>Laura Fuller</option> 
    </select> 

    var app = angular.module('app', ['kendo.directives']); 

    app.controller("myCtrl", function ($compile, $scope) { 

     $scope.changed = function(e) { 
     console.log(e.sender.dataItems()); 
     }; 

    }); 
+0

Изменения меняются, когда значение виджета изменяется пользователем, а не когда оно изначально загружено – mavroprovato

+0

Я думаю, что начальная загрузка вы прочитали данные из db или связанных с ними областей. – Kurkula