Bei der Verwendung in ng-repeat tritt ein Problem auf der Registerkarte "Auswählen" auf. Bei Stackoverflow habe ich viele Lösungen für mein Broblem gefunden, aber ich kann mein Broblem nicht lösen.

Hier ist mein Code. Oben auf der Seite definiere ich meinen Controller

<ion-view view-title="Product" ng-controller="productCtrl as pd">

Und am Controller

self.pdata = response;

Auf der HTML-Seite ist mein Code ..

<div ng-if="pd.pdata.optionid.length > 0" class="prodetail" ng-repeat="x in pd.pdata.optionid">
    <h5>{{x.title}}</h5>
    <select name="{{x.title}}" ng-model="pd[x.title]" style="right:5px;">
      <option ng-repeat="y in pd.pdata.optionvalue[x.option_id]" value="{{y.value_id}}" selected>{{y.title | uppercase}}</option>
    </select>
</div>

Hier befindet sich meine Auswahlregisterkarte in der ng-repeat-Schleife, sodass mein ng-Modell jedes Mal dynamisch definiert wird.

Mein Problem ist: -extra leere Option mit ng-repeat im Auswahl-Tag hinzugefügt

2
SuReSh 28 Dez. 2015 im 09:15

3 Antworten

Beste Antwort

Ändern Sie Ihr select -Tag wie folgt, es ist ein bisschen mundvoll, funktioniert aber alternativ können Sie auch Ihr option -Tag behalten und ng-options von meinem select -Tag entfernen.

<select ng-init="pd[x.title] = pd[x.title] || pd.pdata.optionvalue[x.option_id][0].value_id" name="{{x.title}}" ng-model="pd[x.title]" style="right:5px;" ng-options="y.value_id as y.title.toUpperCase() for y in pd.pdata.optionvalue[x.option_id]">
</select>

Hier ist eine jsFiddle

2
Minato 28 Dez. 2015 im 07:46

Das Problem scheint zunächst hier zu sein

value = "{{y.value_id}}"

Weitere Informationen finden Sie hier Die leere Option wird generiert, wenn ein Wert, auf den ng-model verweist, in einer Reihe von Optionen, die an ng-options übergeben werden, nicht vorhanden ist

0
Community 23 Mai 2017 im 12:24

Verwenden Sie einen fest codierten leeren Wert

<option value="" ng-if="false"></option>
0
anoop m m 28 Dez. 2015 im 06:37