首先html代碼是這樣的:
<label>Name des Leiters:</label>
<select name="leaderID" id="selectLeaderID"><option ng-repeat="manager in managers" value="leader_id={{manager.id}}&leader_name={{manager.name}}&leader_email={{manager.email}}" callback-on-end>{{manager.name}}</option>
</select>
因為只有一個ID確定,需要設置option的selected值,但是又不能直接用ng-model或者$().val()來設置,因為value是一長串東西= =0。0我為什么要寫這樣的代碼
所以,只能通過ng-repeat的加載完成后調用回調函數,來完成設置。
代碼如下:
app.directive("callbackOnEnd", function($timeout) {return {restrict: "A",link: function(scope, element, attrs) {if (scope.$last) {$timeout(function(){var select = document.getElementById("selectLeaderID");for(var i = 0;i < select.options.length;i++){var parts = [];parts = select.options[i].value.split('&');if(parts[0].substr(10) == scope.selectLeaderID){select.options[i].selected = true;}}});}}};});
添加一個directive,注意要用到$timeout否則每次設置option時都會加載一次,而不是最后加載。
最后祝各位小朋友們好好學習,天天向上,哈哈哈哈下周復活節放假可以來個西班牙葡萄牙游!