[英]AngularJs select add option
我使用angularjs并选择options集合。 如果我在html选项标签中添加了所有选项,那么效果很好。 但是,如果我尝试从角度添加项目,则无法正常工作。
我的代码:
<div ng-controller="statisticsTableController">
<select ng-model="publishersdata"
ng-options="s for s in publishersdata"
chosen option="publishersdata">
</select>
</div>
和AngularJs代码:
function statisticsTableController($scope, $http) {
var publishersArray = [];
$http.get('/api/getAllItems').success(function(data) {
angular.forEach(data, function(data) {
publishersArray.push(data.Name);
});
});
this.publishersdata = publishersArray;
//...
}
为什么不起作用? 以及如何解决?
更新
更改后:
function statisticsTableController($scope, $http) {
var publishersArray = [];
$http.get('/api/getAllItems')
.success(function (data) {
angular.forEach(data, function (data) {
publishersArray.push(data.Name);
});
});
$scope.publishersdata = publishersArray;
//...
}
HTML:
<div ng-controller="statisticsTableController">
<select multiple
ng-model="publishersdata"
ng-options="s for s in publishersdata"
chosen option="publishersdata">
</select>
</div>
它不能正常工作
我看到的一个问题是,您的ng-model
和ng-options
指向同一个publishersdata
对象,这可能是导致刹车的原因之一。 您的ng-model
应该是一个对象,其中包含在下拉列表中选择的对象。
同样如上所述,您应该将publishersdata
附加到$scope
,否则将无法在HTML中访问它。
除此之外,这对我来说还不错。
尝试使用代码代替foreach参数中的数据使用值
angular.forEach(data, function (value) {
publishersArray.push(value.Name);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.