2016-03-22 28 views
4

Ich habe alles hier versucht, aber nichts funktioniert. Ich möchte Yes wie am Anfang ausgewählt einstellen. Für jetzt hat es eine leere Option und dann Yes und No.Ausgewähltes Element in wählen

<div class="form-group" ng-class="{ 'has-error' : someForm.aktivan.$invalid && !someForm.active.$pristine }"> 
    <label class="control-label col-sm-2">Jep:</label> 
    <div class="col-sm-10"> 
     <select class="form-control" name="ak" id="ak" ng-model="operater.ak" ng-options="o.value as o.option for o in items" required></select> 
     <p ng-show="someForm.aktivan.$error.required && !someForm.aktivan.$pristine" class="help-block">Change the values</p> 

    </div> 
</div> 

Sein wird es aus:

$scope.items = [ 
    { 
     value: 1, 
     option: 'Yes' 
    }, 
    { 
     value: 0, 
     option: 'No' 
    } 
]; 
+0

eine leere Option was bedeutet es ?? –

+0

@WasiqMuhammad bedeutet, dass standardmäßig nichts ausgewählt ist. –

+0

es bedeutet, dass es keinen Wert hat, seinen leeren Raum – Mark

Antwort

2

Die value Attributs Option ist eine Zeichenfolge, so dass Sie sicherstellen müssen, dass die value im json ein String als auch ist

$scope.items = [{value:"1", option:'Yes'},{value:"0", option:'No'}]; 

EDIT:

Dank des tollen Kommentars von @ dfsq müssen Sie lediglich einen Standardwert für ngModel - Entweder ODER festlegen. Sie müssen nicht die value der Elemente in Ihrem JSON zu Zeichenfolgen ändern, lassen Sie sie so, wie sie sind.

+2

Original-Modell war in Ordnung, nicht notwendig, "1" und "0" zu verwenden. Setzen Sie 'ngModel' einfach auf' 1' oder '0'. – dfsq

+0

@dfsq Sind Sie sicher, dass angular zwischen Zahlen und Strings unterscheiden kann, wenn sie auf diese Weise verwendet werden? –

+0

Ja bin ich sicher. Aber wundern Sie sich nicht, versuchen Sie es selbst: http://plnkr.co/edit/bj0ZyWVBcKQoKzRIGgO0?p=preview – dfsq

2

Kann es versuchen

In html:

<select class="form-control" ng-model="operater.ak" ng-options="o.value as o.option for o in items" required></select> 

in Controller:

$scope.operater = {ak : 1}; 
$scope.items = [{value:1, option:'Yes'},{value:0, option:'No'}]; 

PLUNKER DEMO LINK

+2

Werf Syntaxfehler wegen '{ak = 1};' – dfsq

+0

Es war Tippfehler, Danke :) –

0

Versuchen Sie, diese

 $scope.operater.ak=0 

dies wird Wert setzen

Verwandte Themen