2016-06-13 10 views
0

Wenn der Benutzer das Objektdetail erweitert, erhält er Daten über dieses Objekt. Um genauer zu sein, ist es eine Reihe von Objekten. Jedes Objekt dieser Anordnung wie folgt aussieht:Wie wählt man den Wert aus den ng-Optionen basierend auf den Daten (beim Laden)

{ 
    id:"6c8b7b19-17e1-4d2b-b47b-ad2c3f2e967b", 
    name:"TERM-xx", 
    overchargeTolerance:2, 
    pricingMethod:"ALTERNATIVE_MIN", 
    ratioGlassToAccessory:2, 
    ratioReplaceToRepair:2, 
    validFrom:"2016-02-02T08:55:22", 
    validTo:"2016-09-02T08:55:22", 
    vatRate:2 
} 

Wie oben seine Array von Objekten erwähnt, damit ich ng-repeat darueber:

<div class="row admin-sub-form" ng-show="isToogled(node.id)" ng-repeat="term in glassTerms"> 

Und dann legen Sie Werte auf Eingaben. Aber weil manchmal Wert konstanz von Back-End ist kann ich nicht lassen Benutzer schreibt etwas, damit ich selectbox mit ng-Optionen bieten, wie unten

 <select id="pricingMethod" 
       class="form-control" 
       ng-model="term.pricingMethod" 
       ng-options="o as o for o in pricingMethod" 
     > 
     </select> 

Was ich will:

Wenn Benutzerlast Seite aus selectbox wählen sollte korrekt Wert automatisch. Im Moment zeigt es nur Selectbox mit der Möglichkeit, einen beliebigen Wert auszuwählen, aber nichts auswählen. Ich muss klicken und es manuell auswählen.

p.s. Wenn ich selectbox mit einfacher Eingabe als ersetzen:

<input ng-model="term.pricingMethod" id="pricingMethod" class="form-control"/> 

Wert in dieser Eingabe korrekt angezeigt wird, in diesem Fall ALTERNATIVE_MIN

Jede Idee?

+0

können Sie erstellen eine jsfiddle fo R es? und zeigen auch das pricingMethod-Array. Und Sie überprüfen dies auch [Fiddle] (https://jsfiddle.net/keyurshah24/5kpxzrgf/) –

Antwort

0
$scope.term.pricingMethod = 1; //replace 1 with the value which u want to display by default 

zum Beispiel, wenn Sie diese Liste haben

[ 
     {"name":"option 1","id": 1}, 
     {"name":"option 2","id": 2}, 
     {"name":"option 3","id": 3} 
    ]; 

und Sie wollen „Option 2“ auf Seite Last laden, stellen Sie dann das Modell mit dem Wert 2 wie folgt aus

$scope.term.pricingMethod = 2; 
Verwandte Themen