In meiner Eckige Form Ich habe Probleme mit ng-Optionen, die einen Schlüssel haben, die eine ganze Zahl als Wert für die <option>
AngularJS ng-Optionen arbeiten nicht mit ganzen Zahlen als Schlüssel
{{ form.status }} returns a string: 'foobar'
<select ng-model="form.status"
ng-options="key as value for (key, value) in status_list">
Schlüssel a string> ausgewählten Wert korrekt
{{ form.weekday }} returns an integer: 5
<select ng-model="form.weekday"
ng-options="key as value for (key, value) in weekdays">
Schlüssel ist, eine ganze Zahl> nichts
ausgewähltBeide sind identisch in Code. Nur die Json-Listen sind unterschiedlich, Wochentage haben eine Ganzzahl als Schlüssel - die andere eine Zeichenfolge. Warum funktioniert es nicht mit ganzen Zahlen?
können Sie form.weekday sicherzustellen, 5 anstelle von '5'? Sie machen das Gleiche. –
Hmm, nein. Wenn ich form.weekday die {{form.weekday | json}} gibt eine Zeichenfolge anstelle von Ganzzahl zurück. Wie behebe ich das? In der Tat stimmt es, dass sie nicht gleich sind. – user1469734
In der entsprechenden Seite (d. H. Am Ende des entsprechenden Controllers) tun Sie am Ende: $ scope.form.weekday = parseInt ($ scope.form.weekday). –