2016-04-26 44 views
0

我有以下的HTML更新MD-选择编程

<md-select id="testSelect" 
      ng-model="objElements" ng-change="onElementChange()" 
      name="objElements" placeholder="Select Stuff"> 
    <md-option id="testOption" 
       ng-repeat="ele in Elements" 
       ng-if="ele.Completed==false" 
       ng-value=ele.ID 
       ng-selected="$first"> 
     {{ele.Name}} 
    </md-option> 

Elements使用$http.get要求填写,并正确显示 - 我能够正确地选择元素和ng-change火灾。

如果我使用$http.post添加新元素,然后使用Elements.push($scope.NewElement)将新对象推到Elements[],有没有办法将新对象设置为'selected'元素?

我可以看到新元素已被正确添加到Elements[],但无法弄清楚如何设置ng-selected=NewElement

回答

0

是的,只需将objElements设置为响应中的新元素即可。应该做的伎俩。

这里有一个很好的例子:https://material.angularjs.org/latest/api/directive/mdSelect(代码如下)。

<div ng-controller="MyCtrl"> 
    <md-select ng-model="selectedUser"> 
    <md-option ng-value="user" ng-repeat="user in users">{{ user.name }}</md-option> 
    </md-select> 
</div> 

angular.controller('MyCtrl', function($scope) { 
    $scope.users = [ 
    { id: 1, name: 'Bob' }, 
    { id: 2, name: 'Alice' }, 
    { id: 3, name: 'Steve' } 
    ]; 
    $scope.selectedUser = { id: 1, name: 'Bob' }; 
}); 
+0

如果这个md-select是多个,我该怎么办 –

+1

@ReNiShAR你问一个关于StackOverflow的新问题! ;) – Yatrix

+0

我已经发布了一个,没有得到任何awsers,最后我找到解决方案,并发布: http://stackoverflow.com/questions/42436358/setting-selected-item-in-angular-md-select-与海报选项?noredirect = 1#comment72017185_42436358 –