2017-02-25 117 views
0

我已经有了与该特定选择框相关的模型的现有值,并且我有不同的源列表来呈现选项,在这种情况下,我无法将选择框最初选择默认值。角度选择选项没有选择,即使有默认值设置

HTML

<div ng-controller="SampleCtrl as vm"> 
    <input type="text" ng-model="vm.new_object.name"><br/> 
    <select name="test" id="test" ng-model="vm.new_object.provider_id"> 
    <option ng-repeat="opt in vm.list" value="{{opt.id}}" ng-selected="vm.new_object.provider_id == opt.id"> 
     {{opt.name}} 
    </option> 
    </select> 
</div> 

SCRIPT

angular.module('app', []) 

.controller('SampleCtrl', function($scope) { 

vm = this; 


vm.list = [{ 
    "id":1 
    ,"name":"sdfgg" 
    ,"website":"dfgdg" 
    ,"is_active":"1" 
    ,"is_deleted":"1" 
}, { 
    "id":2 
    ,"name":"sfd" 
    ,"website":"sdfsdf" 
    ,"is_active":"1" 
    ,"is_deleted":"0" 
}, { 
    "id":3 
    ,"name":"sfs" 
    ,"website":"dfsdfs" 
    ,"is_active":"0" 
    ,"is_deleted":"0" 
}]; 

vm.new_object = { 
    "name": "some thing" 
    ,"provider_id": 2 
} 

}) 

Link 这是演示plnkr链接,同样的问题。

如果有任何想法,请绕我出去。

+0

这个问题是问每隔一天。阅读文档。使用ng选项。 https://plnkr.co/edit/r8O0yKnozC8g5IKgmsnV?p=preview –

+0

我经历了所有相关的问题,仍然没有解决我的问题,这就是为什么我再次问我的用例 –

+0

谢谢,这一个工作在编辑选项,但我在新选项中使用相同的东西,我需要 这种选项在顶部如果我没有找到值,那么这应该在那里,有什么想法? –

回答

0

避免在选择中使用ng-repeat。正确的用法是NG-选项

<select name="test" id="test" ng-model="vm.new_object.provider_id" 
     ng-options="opt.id as opt.name for opt in vm.list"> 
</select> 

这是你更新plunkr

+0

我用ng重复,因为我想这个选项虽然没有已定义的值 –

+0

还有一件事,我也需要使用is_active标志进行过滤 –