2013-11-28 83 views

回答

2

你可以只让一个自定义的指令,并通过在你想要预先选择的多选指令的value属性的项目,看看this Plunk看到我用的指令。

+0

嘿!你的自定义指令帮了我很多。我分叉它并在这里编辑它(http://plnkr.co/edit/Z1E9FO8NAgpiSggSo3hY?p=info)我添加了一个pop方法来直接修改myItems。但是 - 运行时,更改不会反映在多选中。我怎样才能修改指令来解决这个问题? – Matt

1

你必须挂钩到上改变事件指令并发送kendoEvent。然后你可以在e.sender上使用支持的kendo方法。检查出来这个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

我认为初始onload已从数据库或相关区域读取数据。 – Kurkula