2016-06-09 17 views
0

Wie kann ich leere Option in der Formularausgabe vermeiden?Leere Option auswählen #ngValue

<select class="form-control" ng-model="item.type" > 
           <option ng-value="0">Real</option> 
           <option ng-value="1">Fake</option> 
           <option ng-value="2">Both</option> 
          </select> 

item.type in der Steuerung

Das Problem etwas anders aus, was festgelegt ist, sah ich in ähnlichen Themen wegen Verwendung von ng-Wert und der Tatsache, wird dieser Wert von item.type bereits festgelegt

Bearbeiten: Ändern von ng-value zu value löste das Problem.

+0

Was meinst du mit "Leerzeile"? Meinst du eine leere Eingabemöglichkeit) in der Auswahl? – jbrown

+0

Ja, leere Option –

Antwort

1

Wie wird item.type im Controller eingestellt?

Die leere Zeile ist der aktuelle Wert von item.type. Wenn Sie es als Objekt im Controller festlegen, wird dies normalerweise angezeigt. Versuchen Sie es zu einem der drei Entscheidungen Einstellung wie diese:

angular.module('yourModule').controller('ctrl', function($scope)){ 
     $scope.item = {}; //edited 
     $scope.item.type = "1"; // or 2, or 0 
    } 

Dies ist, wie Winkelgriffe Zwei-Wege-Datenbindung. Wenn der Wert Ihres item.type mit keiner der Optionen übereinstimmt, ist es normal, eine weitere leere Zeile hinzuzufügen.

EDIT:

<select class="form-control" ng-model="item.type" > 
    <option value="0">Real</option> 
    <option value="1">Fake</option> 
    <option value="2">Both</option> 
</select> 
+0

Sie können auch eine Option für die Behandlung von null (leeren) Werten hinzufügen. jbrown

+0

$ scope.item.type hat bereits einen Wert aus der Optionsliste. –

+0

Ich habe auch versucht, , aber es hat nur die Optionsliste erhöht. Der Anfangswert ist immer noch balnk –

0

Das Problem der leeren Option ist aufgrund des ng-Modell ist nicht mit den ng-Optionswerten entsprechen. Könnten Sie einfach den Wert von item.type in der Ansicht mit {{item.type}} drucken.

Nehmen Sie die folgenden Änderungen vor.

In Controller die item.type als

$ scope.item = {} gesetzt; $ scope.item.type = "1";

machen Sie die folgenden Änderungen in HTML.

<select class="form-control" ng-model="item.type" > 
          <option value="0">Real</option> 
          <option value="1">Fake</option> 
          <option value="2">Both</option> 
         </select> 
+0

Meinst du {{item.type}}? Es zeigt "1". Und, ja, die Werte von item.type sind Strings.Ich nehme an, dass es das Problem verursacht, aber ich kann nicht herausfinden, wie ich es beheben kann –

Verwandte Themen