填充下拉列表AngularJs

时间:2017-03-21 08:41:18

标签: angularjs

<select class="form-control" ng-model="companyId" style="height: 40px;" ng-options="id for id in companyId">
</select>

嗨。我在控制器中有一个数组scope.companyId,其中包含了控制器的结果.array包含say [1,2,3]。我需要在下拉列表中填充这个。我在做什么错误?

感谢。

4 个答案:

答案 0 :(得分:1)

将ng-model更改为其他内容。您的阵列名称和ng-model是相同的。

<select class="form-control" ng-model="selectedId" style="height: 40px;" ng-options="id for id in companyId">
</select>

由于你的ng-model和array(companyId)是相同的。选择一个数字后,companyId将变为变量而不是数组。

&#13;
&#13;
var app = angular.module("app", []);
app.controller("ctrl", function($scope) {
$scope.companyId=[1,2,3,4];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <select class="form-control" ng-model="selectedId" style="height: 40px;" ng-options="id for id in companyId">
</select>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

试试这个:

<select class="form-control" ng-model="companyIdModel" style="height: 40px;" ng-options="company_id as id for id in companyId">

答案 2 :(得分:0)

您可以将任何应该预先选择的项目设置为select的ngModel

的值

你这样试试,

<div ng-app="myApp" ng-controller="myCtrl">

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.companyId = [1,2,3];
});
</script>

答案 3 :(得分:0)

让我们使用这个

<select ng-model="companyId" class="dropdown form-control input-sm"
                        ng-options="company as company for company in companyList"></select>

我建议你将这个$ scope.companyId重命名为$ scope.companyList。或者将绑定模型重命名为您的下拉列表。在js中建议您以下

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.companyList= [1,2,3];
})

这是你的plnkr。 https://plnkr.co/edit/eNVKGeE0M92keNRDoQEE?p=preview