2016-09-08 1 views
1

Ich habe json Struktur wie folgt aus:Wie füllt man das Dropdown-Menü, indem man den Schlüssel aus dem Array in ng repeat abgleicht?

101 : 
    "List": [ 
     { 
     "Name": "Pink" 
     }, 
     { 
     "Name": "Black" 
     } 
    ] 

102 : 
    "List": [ 
     { 
     "Name": "Red" 
     }, 
     { 
     "Name": "Yellow" 
     } 
    ] 

$scope.Ids = [101,102,103,104]; 

Jetzt habe ich 1 ng Wiederholungsschleife auf der Liste der Ids Looping (Für zB: 101102) und so will ich Drop-Down durch spezifische Id.For zB füllen für Id 101 Ich möchte Pink, Schwarz füllen und für 102 möchte ich Rot, Gelb in meinem Drop-Down füllen und für Ruhe möchte ich einfach ignorieren, aber ich bekomme nicht, wie man das erreicht.

Code:

<div ng-repeat="item in Ids track by item.id"> 
    <select ng-model="color" ng-options=""> 
     <option value="">-- choose color --</option> 
     </select> 
</div> 
+1

versuchen 'ng-Optionen = "{item.List}"' –

+0

@AhmadMobaraki: Danke, aber können Sie bitte ganze ng-Optionen veröffentlichen ?? –

+3

Sie können ng-Filter verwenden, hier ist ein Beispiel, das Ihnen helfen kann: http://stackoverflow.com/questions/20189406/angularjs-filter-ng-option-not-having-specific-values –

Antwort

1

Es sei angenommen, die Drop-Down-Karte in einem Objekt gespeichert: $scope.map:

<div ng-repeat="id in Ids"> 
    <select ng-model="color" ng-options="opt.name for opt in map[id].list"></select> 
</div> 
1
<div ng-repeat="level1 in Ids"> 
    <select ng-model="color" ng-options="level2 for level2 in level1.List"> 
    </select> 
</div> 

Sie brauchen nicht option-Tag!

Verwandte Themen