2016-10-08 2 views
1

Für den Moment ist die Auswahl leer, ich denke, eckigen hinzugefügt es standardmäßig. Ich möchte, dass der Standard amerikanisch ist, aber ich trid ng-selected="country.name == 'American'" es funktioniert nicht?Standardwert mit ng-Auswahl Schleife durch Array von Objekt

mein DOM

<select name="country" ng-model="user.country" 
        ng-options="country.name for country in country_list" > 
       {{name}} 
      </select> 

http://jsbin.com/tocojojora/edit?html,css,js,console,output

+0

Haben Sie "ng-init" probiert? – Rajesh

+0

@Rajesh 'ng-init =" user.country = 'Singapur' "' funktioniert nicht –

+0

In Ihrem Fall können Sie keine 'string' zuweisen, Sie müssen' user.country' einem der übergebenen Objekte zuweisen in 'ng-Optionen' wie' ng-init = "user.country = country_list [0]" etc .. dann wird 'ng-model' automatisch die Standardoption erkennen. –

Antwort

0

Sie dies tun können, ng-init="value='American Samoa'" dies den Standardwert in Dropdown

<select ng-model="value" ng-init="value='American Samoa'" ng-options="code.name as code.name for code in country_list"> 
</select> 

DEMO

+0

Wenn mein Modell etwas ist.Wert wird es nicht funktionieren. wie 'ng-init =" user.country = 'Singapur' "' es wird nicht funktionieren? Warum? –

+0

sollten Sie im ng-Modell so etwas setzen, Sajeetharan

+0

nein ich möchte den vorhandenen Stil nicht ändern –

-1
gesetzt 10
0
$scope.user = {country: $scope.country_list[4]}; 

Legen Sie das Standard-Benutzerland in Ihrem Controller fest (weniger Logik in Ihrer HTML-Vorlage).

JSBin

0

Der Grund Code wurde nicht war dies wegen der Arbeiten:

ng-options="country.name for country in country_list" 

In meinem Verständnis, hier Wert {name: 'Afghanistan', code: 'AF'} sein wird und nicht Afghanistan oder AF.

Sie sollten so etwas wie dies versuchen:

ng-options="country.code as country.name for country in country_list" 

Hier Wert AF und Sie ng-init es zu setzen, wie

user.country = 'AS' 

Sample Fiddle verwenden können.