2017-02-24 213 views
0

設置在角選擇的項目MD-選擇與多個選項設定選擇的項目MD-選擇與多個選項

<md-select multiple ng-model="Reg.roles" placeholder="Please select roles" required> 
    <md-option ng-repeat="role in roles" value="{{role.value}}" ng-selected="{{ role.value === '<%= data.roles %>' ? 'true' : 'false' }}">{{ role.name }}</md-option> 
</md-select> 

data.roles包含值:

['account_admin', 'developer'] 

我需要對應role.value的項目應處於選擇狀態。

請參考下面的圖片current ui showing

+0

使用ng選項有時選項不起作用 – Jenny

回答

0

最後我找到了解決辦法,在我的控制器我寫了這個:

var current_roles  = '<%=data.roles%>'; // current value from db as array 

$scope.Reg.roles = []; //initialize array 

angular.forEach($scope.roles, function(val1, key1) { 
    if(current_roles.indexOf(val1['value']) !== -1) // check if item in current array 
    { 
     $scope.Reg.roles.push(val1['value']); //setting to select items 
    } 
}); 
0

我不知道如何有效,這是如果此剷球同樣的問題,但另一件事,你可以做的是在你的HTML中,傳遞角色而不是role.value。因此,這將是這個樣子:

<md-select multiple ng-model="Reg.roles" placeholder="Please select roles" required> 
<md-option ng-repeat="role in roles" value="{{role}}" ng-selected="{{ role.value === '<%= data.roles %>' ? 'true' : 'false' }}">{{ role.name }}</md-option> 

這使您可以在您的控制器整個對象的工作,當你願意,你可以操縱它。