AngularJS:ng-selectize在AJAX调用后没有初始化selctize选项

时间:2014-12-02 13:15:13

标签: ajax angularjs angularjs-directive angularjs-scope selectize.js

我使用ng-selectize指令使用angularJS选择框。从AJAX调用中检索slectbox的选项。 AJAX调用响应的格式正确。如果检查元素,则选择框选项正确填充。但是在UI中,不会呈现选项。这种行为有什么具体原因吗?相同的代码在另一个地方工作正常。

这是我的代码:

HTML:

<select multiple="multiple"
    ng-model="email.existing"
    ng-options="obj.email for obj in emailLists track by obj.email"
    placeholder="Choose from existing email address"
    selectize>

的Javascript

angular.module('myApp', [
'myApp.controllers',
'myApp.services',
'ngDialog',
'angular-selectize'
]);

angular.module('myApp.services', []).
    factory('myAPIservice', function($http) {
        var myAPI = {};
        myAPI.getAllEmail = function( data ) {
            return $http.post(APP_BASE_URL + "director/getallemail", data );
        }
        return myAPI;
    });

    angular.module('myApp.controllers', [])
    .controller('myCntrl', function($scope, myAPIservice, ngDialog) {
        myAPIservice.getAllDirectorsEmail({}).success(function (response) {
            $scope.emailLists = response;
        });
    });

上面的代码从url中检索电子邮件列表。样本响应将如下所示。

AJAX Response

如果我将javascript代码更改为

angular.module('myApp.controllers', [])
    .controller('myCntrl', function($scope, myAPIservice, ngDialog) {
        $scope.emailLists = new Array({email:'abc@def.com'},{email:'lmn@opqr.com'})
    });

,响应将是

Without AJAX call

有人可以帮我解决这个问题吗?

0 个答案:

没有答案