2017-05-15 3 views
0

Ich versuche, ein Dropdown-Menü aus einem einfachen Array in Angular mit dem ngOptions-Attribut von eckigen 1,5 zu erstellen, aber nach dem Lesen der Dokumente und Surfen im Internet kann ich nicht scheinen um es mit einem "einfachen" Array (mit Objekten funktioniert es gut) zu arbeiten.angular 1.5X [ngOptions] für reguläres Array

ich habe folgende Daten

["Interne Vacatures","Human Resources","Sales"] 

Ich verwende den folgenden Code in meiner Ansicht

<select class="form-control" ng-model="widget.GroupNameSearch" id="widgetselectedGroupName" ng-options="group as widget.GroupNameSearch for group in widget.GroupNameSearch | orderBy:'GroupNameSearch' track by widget.GroupNameSearch"> 
    <option value="" disabled selected>--- Kies een group ---</option> 
    <option value="" ng-if="false"></option> 
</select> 

Allerdings schafft meine html folgendes: enter image description here

Ich bin nicht sicher, warum es erzeugt diese Ergebnisse, aber wenn ich mein Array zu einem JSON-Objekt ändere, kann ich es zum Laufen bringen. Unglücklicherweise möchte ich die Erinnerung nicht verschwenden. Unten ist ein Arbeitsbeispiel mit JSON:

{"groupName": { 
    "groupName":"Group 100", 
    "mail":"[email protected]"} 
} 



    <select class="form-control" ng-model="widget.selectedGroupName.groupName" id="widgetselectedGroupName" ng-options="group as group.groupName for group in widget.GroupNameSearch | orderBy:'groupName' track by group.groupName" > 
        <option value="" disabled selected>--- Kies een group ---</option> 
        <option value="" ng-if="false"></option> 
       </select> 

Jede Hilfe würde sehr geschätzt werden. Prost!

Antwort

1

Dies geschieht wegen widget.GroupNameSearch in Ihren Optionen.

ng-options="group as widget.GroupNameSearch for group in widget.GroupNameSearch.." 
//     ^^^^^^^^^^^^^^^^^^^^^^ this one 

Sie versuchen ganze Reihe wieder als Referenz auf das aktuelle Element zu verweisen.

Es kann als value as label for collection gelesen werden. Jetzt, sollten Sie nicht das gesamte Array selbst als label für jeden Artikel haben, sollten Sie?

Stattdessen können Sie es so für das Array von Strings haben,

ng-options="group as group for group in widget.GroupNameSearch.. 
+0

Dank Ihrer Antwort wies mich in die richtige Richtung. Ein weiteres Problem war, dass das Array vom Typ String war. also musste ich das Array neu erstellen. Danke vielmals. –

+0

@RodneyWormsbecher froh, dass es ein wenig geholfen hat :) – tanmay

Verwandte Themen