2014-09-30 12 views
0

这是我的问题:我需要使用API​​调用来拉出时区的列表来填充页面上的select元素。什么是适当的angularjs方式呢?我已经试过:如何更新在angularjs数组更改选择?

HTML:

<select class="custom-select timezone" name="Timezone" id="Timezone" ng-model="regCtrl.user.Timezone" ng-options="timezone.DisplayName for timezone in regCtrl.Timezones></select> 

的JavaScript:

app.controller('RegisterController', ['$http', '$scope', function ($http, $scope) { 
    $scope.user = {}; 
    $scope.Timezones = []; 
    $http.get('/User/GetTimezones').success(function (result) { 
     $scope.Timezones = result; 
    }); 
}); 

我在做什么错?

编辑: 它不是this question的重复 - 我试过了,它没有帮助。该错误必须以某种方式在语法上。如果我不正确,并且这是上述问题的重复,有人可以通过示例告诉我如何将该修复应用于我的代码。谢谢。

+0

能不能请你联系我的问题的重复,因为如果你认为这[链接]的(http://stackoverflow.com/questions/19872387/in -angularjs-how-do-you-get-a-select-to-refresh-when-the-array-for-ng-options?lq = 1) - 我试过了,它不适用于我的问题。 – 2014-09-30 07:00:31

回答

0

只需将控制器名称在你html的

<select class="custom-select timezone" name="Timezone" id="Timezone" ng-model="user.Timezone" ng-options="timezone.DisplayName for timezone in Timezones></select> 
+0

而不是仅仅将代码倾倒在答案中,你会不会解释你改变了什么,以及为什么它应该起作用? – Cerbrus 2014-09-30 06:54:11

+0

准确地说 - 您已经更改了ng-model,该模型在开始时工作正常。我遇到的问题是通过使用回调函数更新数组而导致的,并且html在此之后不会自动更新。当我在开始时设置列表时,它一切正常。 – 2014-09-30 06:55:55

相关问题