2016-04-05 9 views
0

Ich habe ein Dropdown, dessen Wert ein Objekt ist. Der HTML-Code ist wie folgt.Wie benutzt man ng-init mit einem Objekt?

<div class="form-group"> 
    <label>Goal<span class="red-ast">*</span></label><br /> 
    <select ng-change="setgoal(goals)" ng-model="goals" ng-init="goals={{oldGoal}}" class="form-control b-rad3">  
    <option ng-repeat="goal in allgoals" value="{{goal}}">{{goal.title}}</option>  
    </select>  
</div> 

Der Code-Controller ist wie folgt:

$scope.allgoals = [ 
    0 => { 
     title : "ABC", 
     icon : "icon1.jpg", 
     id : 01 
    }, 
    1 => { 
     title : "DEF", 
     icon : "icon2.jpg", 
     id : 02 
    }, 
    2 => { 
     title : "GHI", 
     icon : "icon3.jpg", 
     id : 03 
    } 

] 

$scope.oldGoal = { 
     title : "DEF", 
     icon : "icon2.jpg", 
     id : 02 
    }; 

Es zeigt mir ein Drop-Down von ABC, DEF GHI. Es ist in Ordnung, aber ich möchte, dass DEF im Dropdown-Menü vorgewählt wird. Wenn ich so vorgehe, gibt es mir einen Parsing-Fehler. Bitte korrigieren Sie mich, wo ich falsch liege.

+1

'[0 => {...} Syntax sieht nicht korrekt aus. Meinst du '[{...}, {...}]'? – Uzbekjon

+0

@uzbekjon Ya ich meine [{...}, {...}]. – user3542450

Antwort

1

Working Plnkr

Nur ng-selected="c.title==oldGoal.title" verwenden.

<option ng-selected="c.title==oldGoal.title" ng-repeat="c in allgoals">{{c.title}}</option> 

Update:

Here is the updated plnkr. Bitte überprüfen Sie und lassen Sie es mich wissen.

+0

funktioniert gut Vielen Dank – user3542450

+0

Es ist ein Fehler in Ihrem Code es ist nur die letzte Auswahl. – user3542450

+0

ok, warte ein paar Minuten, ich werde es aktualisieren. –