Wie setzen Sie die option Wert mit ng:Optionen
Offenbar AngularJS nicht richtig konstruieren Sie eine Liste der <option>
Elemente als ein einfaches template im IE, so dass es das ng:Options
Richtlinie (siehe https://github.com/angular/angular.js/issues/235).
Nach einem Blick auf die Quelle, ich war in der Lage zu konstruieren, die Optionen mit den gewünschten Etiketten, wie folgt (JSFiddle):
<!-- what I'd like to do -->
<select>
<option ng:repeat='key in keys' value='{{key}}'> {{lookup[key].firstName}} {{lookup[key].lastName}} </option>
</select>
<br/>
<br/>
<!-- what Angular lets me do -->
<select ng-model='key' ng:options='k as lookup[k].firstName + " " + lookup[k].lastName for k in keys'></select>
Jedoch, wenn ich überprüfen Sie die Optionen mit Firebug sehe ich, dass der Wert ist ein numerischer index, nicht meine gewünschte Schlüssel-Wert - (ich hatte gehofft, der erste k
verwendet werden würde, als der Wert der option).
Habe ich noch nicht sah, tief in den code, also nicht wissen, ob es ein anderes Teil des Ausdrucks, mir fehlt (die regex nicht scheinen, um eine zusätzliche relevante keywords).
Ich hatte gehofft, dass jemand hier kennen vielleicht diese Richtlinie gut genug, um mir zu sagen, (1) wie es zu tun, oder (2) dass ich aus Glück.
Diese Antwort ist das, was schließlich aus mir get it: stackoverflow.com/a/13808743/199712
InformationsquelleAutor kdgregory | 2013-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre gewünschte Schlüssel-Wert wird in der Eigenschaft, die Sie durch ng-model, d.h., die
key
. Hinzufügen{{key}}
auf der Unterseite Ihres HTML-Code (einfach nach der letzten select-Liste), um es zu sehen.Als Sie entdeckt, Eckig speichert die array-index in den HTML-Code. Weitere Informationen hierzu finden Sie unter AngularJS - value-Attribut für wählen Sie
key
aus dem Bereich in meinen JQuery code, aber es ist wahrscheinlich einfacher zu bauen, der wählt auch dort (ich habe nicht den Vorteil der interpolation mitngOptions
, so ist es ein tossup).InformationsquelleAutor Mark Rajcok