【发布时间】:2020-06-24 16:47:09
【问题描述】:
我试图在数据从数据库中获取列表后显示一个下拉列表。我从 JavaScript 文件中获取列表数据,并且我必须在下拉列表中显示这些列表项。首次加载页面时,下拉菜单保持空白。但是当我从数据库中获取列表数据并填充下拉列表的角度变量时,它会以角度更新,但在 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);
});
在我试图为列表填充 $scope 变量的 Angular 控制器中:
$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 中更新。
【问题讨论】:
-
有什么理由不使用内置的
$http服务? -
@AnuragSrivastava 我不知道。我是新来的。如果有什么办法,请解释一下。任何事情都会有帮助
标签: jquery html angularjs drop-down-menu