首页 > 解决方案 > 遍历 json 数组以填充下拉列表 - angularjs

问题描述

我有一个来自这种性质的 json 响应的 json 数组

data {"success":true,"errorCode":0,"data":["kkkk-kkkk 1","oooo-ooooo 2"]}
  1. 第 1 项预计为 >>>kkkk-kkkk 1
  2. 第 2 项预计为 >>>oooo-ooooo 2

在角度脚本控制器中,我这样做是为了将数组推送到 html 视图中

else if (res.status == 200) { 
    $scope.partners = []; 
    var myJSON = res.data; 
    console.log("data" + JSON.stringify(res.data));
    angular.forEach(myJSON, function (item) { 

    $scope.activities.push(item);

我想让 json 数组填充下拉列表这是一个挑战

<select ng-model="act" formcontrol class="ui fluid dropdown ng-untouched ng-pristine ng-valid" required>
  <option ng-repeat="a in activities" value="{{a}}">{{a}}</option>
</select>

请协助

标签: javascripthtmlarraysangularjsdropdown

解决方案


实际上,您正在迭代错误的数组,而是在迭代对象。

因为在您的代码中:

console.log("data" + JSON.stringify(res.data));

会给你:

data {"success":true,"errorCode":0,"data":["kkkk-kkkk 1","oooo-ooooo 2"]}

所以你需要存储res.data.data在你的myJSON变量中,或者最好是直接在你的分配这个数组$scope.activities

$scope.activities = res.data.data;

在您的 HTML 中:

<select ng-model="act" formcontrol class="ui fluid dropdown ng-untouched ng-pristine ng-valid"  ng-options="option for option in activities"required>
</select>

推荐阅读