0

シナリオはこちら

このフォームでサーバーからデータを取得しています

$scope.data=[
{"name":"xyz","status":"pending"},
{"name":"abc","status":"completed"},
{"name":"pqr","status":"completed"}
]

このデータは、ステータスごとに個別の GET 呼び出しです

$scope.statusValues=[
{"statusName":"pending","id":"1"},
{"statusName":"completed","id":"2"},
{"statusName":"cancelled","id":"3"},
{"statusName":"custom","id":"4"}
]

HTML の場合:-

<div ng-repeat="t in data">{{t.name}}</div>

より多くの $scope.statusValues を使用して Select メソッド内に t.status 値を表示する方法

ここに画像の説明を入力

4

2 に答える 2

1

ng-optionsすべてのステータスを表示しng-model、データステータスにバインドするために使用できます

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.data = [{
    "name": "ABC",
    "statusId": "1",
    "status": "completed"
  }, {
    "name": "XYZ",
    "statusId": "2",
    "status": "pending"
  }, {
    "name": "PQR",
    "statusId": "3",
    "status": "assigned"
  }];

  $scope.statusValues = [{
    "statusId": "1",
    "status": "completed"
  }, {
    "statusId": "2",
    "status": "pending"
  }, {
    "statusId": "3",
    "status": "assigned"
  }, {
    "statusId": "4",
    "status": "cancelled"
  }, {
    "statusId": "5",
    "status": "customstatus"
  }, {
    "statusId": "6",
    "status": "customstatus2"
  }];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
  <div ng-repeat="t in data">
    {{t.name}}
    <select ng-model="t.status" ng-options="s.status as s.status for s in statusValues"></select>
  </div>
</div>

編集

コメントで説明されているように配列を更新します

于 2016-12-05T07:15:39.500 に答える
1

それらを結合するには、キーと値のペアを使用します。

I have created plunker it may helpful.

プランカー

于 2016-12-05T07:22:56.360 に答える