2016-04-04 7 views
0

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

ist
{{ 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ählt

Beide 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?

+0

können Sie form.weekday sicherzustellen, 5 anstelle von '5'? Sie machen das Gleiche. –

+0

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

+0

In der entsprechenden Seite (d. H. Am Ende des entsprechenden Controllers) tun Sie am Ende: $ scope.form.weekday = parseInt ($ scope.form.weekday). –

Antwort

-2

Werfen Sie einen Blick hier: https://jsfiddle.net/wqbas2bp/

Html

<select ng-model="form.status" 
ng-options="key as value for (key, value) in status_list"></select> 

<select ng-model="form.status1" 
ng-options="key as value for (key, value) in status_list"></select> 

Javascript

function TodoCtrl($scope) {  
$scope.status_list = [ 1, 2, 3, 4, 5 ]; 
$scope.status_list1 = [ "1", "2", "3", "4", "5" ];} 

Sowohl der Arrays zu funktionieren scheinen.

+0

Ihre Geige bezieht sich auf die gleiche Liste. Aber darum geht es nicht. Was das Problem ist, ist, dass meine Optionsschlüssel als String gesehen werden; keine ganzen Zahlen. – user1469734

0

<select ng-init="form.weekday = form.weekday.toString()" 
 
     ng-model="form.weekday" 
 
     ng-options="key as value for (key, value) in weekdays">

Verwandte Themen