设定选择的项目MD-选择与多个选项

设定选择的项目MD-选择与多个选项

问题描述:

设置在角选择的项目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

最后我找到了解决办法,在我的控制器我写了这个:

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 
    } 
}); 

我不知道如何有效,这是如果此铲球同样的问题,但另一件事,你可以做的是在你的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> 

这使您可以在您的控制器整个对象的工作,当你愿意,你可以操纵它。