Dropdown не обновляется в угловых JS

0

У меня есть два спуска, когда я выбираю первый снимок, мой второй снимок должен загружаться на основе выбора. Я делаю это в угловых js. Используемое событие Watch для загрузки выпадающего события

angular.module('myApp', ['']).controller('QMesaures', function ($scope) {

 $scope.$watch('ddlDepartment', function (newVal) {
            var DepartmentName = newVal.DepartmentName

         $.ajax({
                type: "POST", 
                data: JSON.stringify({ DepartmentName: DepartmentName }),
                url: "/QReport/GetProviders",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                   alert(data);
                    $scope.$apply(function () {
                        $scope.Providers = data;

                    });


                }
            });

        });

});



<div ng-app="myApp" ng-controller="QMesaures">
<select  ng-model="ddlProviders" ng-options="provider.ProviderName for provider in Providers"></select>
</div>

Но моя проблема в том, что я получаю данные, которые я мог бы увидеть в окне предупреждения, но мой второй раскрывающийся список (выпадающий провайдер) не показывает значение.

Пожалуйста, помогите мне, как обновить выпадающий список, чтобы показать значения в угловых js.

  • 2
    Разве вы не должны использовать $http сервис или что-то вроде Restangular для выполнения http запросов. Это автоматически инициирует дайджест-цикл после получения данных от конечной точки. PS - Вам может потребоваться удалить зависимость jQuery, чтобы правильно изучать угловой, чтобы вы могли мыслить угловым образом.
  • 0
    Эванс Дианга Я попытался, используя $ http, я смог получить данные, но не смог загрузить их в раскрывающемся списке. Код изменился $ http.get ('/ QardReport / GetProviders? DepartmentName = PEDIATRICS'). Success (function (data) {$ scope.Providers = data});
Теги:
drop-down-menu

2 ответа

0

Ваша проблема может заключаться в том, что при переназначении $ scope.Providers вы теряете ссылку на "Провайдеры". Попробуйте это вместо этого:

                    $scope.$apply(function () {
                        angular.copy(data, $scope.Providers);
                    });
0

Насколько я могу судить, у вас есть наблюдатель на переменной, которая не существует в этой области. $ scope.ddlDepartment не определен из кода, который вы указали.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню