2014-11-06 108 views
1

我需要从db中的已保存值中更改下拉列表的“选定值”。我怎样才能做到这一点?从角度控制器中更改下拉选择的值

控制器

var app = angular.module('app', []); 

app.controller('ctrl', function($scope) { 
    $scope.months = ['January','February','March','April','May','June','July','August','September','October','November','December']; 

    $scope.selected='August';//here it's not working ? 
}); 

HTML

<html ng-app="app"> 
    <body ng-controller="ctrl"> 
<div class="sample" align="center"> 
    <h1>AngularJS Combobox</h1> 
<select ng-model="selected" ng-options="opt as opt for opt in months" ng-init="selected='March'"></select> 
    <h3>You have selected : {{selected}}</h3> 
</div> 
    </body> 
</html> 

My CODE PEN is here.

任何帮助将高度赞赏。

回答

2

删除:

ng-init="selected='March'" 

这样你的新视图代码如下:

<html ng-app="app"> 
    <body ng-controller="ctrl"> 
<div class="sample" align="center"> 
    <h1>AngularJS Combobox</h1> 
<select ng-model="selected" ng-options="opt as opt for opt in months"></select> 
    <h3>You have selected : {{selected}}</h3> 
</div> 
    </body> 
</html> 
+0

那么我怎样才能给一个默认的负载值? – Sampath 2014-11-06 11:11:27

+1

您正在使用两种竞争的默认声明方法。只需使用一个 - 删除ng-init并使用$ scope.selected选择默认值,或者,不要完全删除ng-init,只需将它的值更改为'August'即可。 – 2014-11-06 11:13:01

+0

你跑过我给你看的东西了吗? 'ng-model =“selected”'将默认加载值设置为您在'$ scope.selected ='August'中设置的值;' – 2014-11-06 11:13:50

1

设置初始选择的默认连接:$scope.selected控制器设定 - 不要使用ng-init为了这。

要在数据库保存后重置默认值,您需要使用保存操作的承诺并重置承诺的返回功能中的选择字段。

+0

+1,感谢支持:) – Sampath 2014-11-06 11:42:19

相关问题