Я пытаюсь показать выпадающий список после получения данных из базы данных. Я получаю данные списка из файла JavaScript, и я должен показать эти элементы списка в раскрывающемся списке. Когда страница загружается в первый раз, раскрывающийся список остается пустым. Но когда я получаю данные списка из базы данных и заполняю переменную angular для раскрывающегося списка, она обновляется в angular, но в DOM ничего не меняется. Раскрывающийся список остается пустым.
Это то, что я сделал до сих пор: в JavaScript, где я получаю список из базы данных.
$.get("/ws/getList", dt, function (data) {
var elem = angular.element(document.querySelector('[ng-app]'));
var injector = elem.injector();
var $rootScope = injector.get('$rootScope');
$rootScope.$broadcast("listEvent", data);
});
В Angular контроллер, где я я пытаюсь заполнить переменную $scope
для списка:
$scope.listForDD = [];
$rootScope.$on("listEvent", function (event,pList) {
$scope.listForDD = pList;
console.log($scope.listForDD);
});
Это мой HTML код:
<div class="d-flex justify-content-start">
<span style="margin-top: 6px;">Select student: </span>
<select class="form-control" id="listDropDown" style="width: 157px;">
<option ng-repeat="l in listForDD" value="{{l.studentName}}">
{{l.studentName}}
</option>
</select>
</div>
Вот пример списка данных:
[{ studentName: "Jane",age: 25}, { studentName: "John",age:18 }]
Я получаю данные в переменной scope
, но раскрывающийся список не обновляется в HTML.