2017-05-18 39 views
0

我對選擇標記有以下html代碼。將ng-repeat轉換爲ng-option錯誤

<option ng-repeat="option in AllData" value="{{item.Id}}" ng-selected="data.Symbol==item.Id">{{item.Symbol}}</option> 

我想將其轉換爲ng-options。有人可以請說明這一點。

AllData的值如下。它是一組對象。

0:Object 
Id: 1 
Symbol: "GR" 
1:Object 
Id: 2 
Symbol: "DR" 

我試過類似的東西,但沒有成功。

ng-options="item as item .Symbol for item in AllData track by item.Id"> 

回答

0

使用ngOptions時,你也必須綁定ng-modelselect初始值。 提到,既然您使用了track by item.Id,則默認值應該至少包含屬性Id並且符合Id屬性中的一項。 參閱下面的示例:

angular.module("app", []) 
 
    .controller("myCtrl", function($scope) { 
 

 
    $scope.AllData = [{ 
 
     0: Object, 
 
     Id: 1, 
 
     Symbol: "GR" 
 
    }, { 
 
     1: Object, 
 
     Id: 2, 
 
     Symbol: "DR" 
 
    }]; 
 

 
    //$scope.data = $scope.AllData[0]; 
 
    $scope.data = { 
 
     0: Object, 
 
     Id: 1, 
 
     Symbol: "GR" 
 
    }; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="myCtrl"> 
 
    <select ng-model="data" ng-options="item as item.Symbol for item in AllData track by item.Id"></select> {{selectedItem}} 
 
</div>

0

嘗試此

<select ng-options="option as option.Symbol for option in AllData"> 
    </select> 
+0

但我想要選擇的值作爲option.Id和值將被顯示爲option.Symbol – Rihana