AngularJS无法按顺序显示月份下拉列表

agr*_*lev 2 javascript sorting angularjs

我似乎无法正常显示月份,10月总是在1月之后,因为它的值是10 ...我假设某种排序的某种方式小于2.这是代码的小提琴:

http://jsfiddle.net/naZQA/

<select ng-model="month" ng-options="key as value for (key,value) in months"></select>
Run Code Online (Sandbox Code Playgroud)

我和那些我无法将美国作为第二个条目出现的国家也有同样的问题,因为它会进行自己的疯狂排序.

任何帮助赞赏.

dnc*_*253 6

对对象使用ng-options只是迭代不保证按任何顺序排列的对象属性.如果您可以将其更改为数组,则保证它们按指定的顺序排列.更新了小提琴.然后选择看起来像这样:

<select ng-model="month" ng-options="currMonth for currMonth in months"></select>
Run Code Online (Sandbox Code Playgroud)

如果您需要为ng-model保留相同的值,您还可以拥有一组键/值对.看到这个小提琴 然后选择看起来像这样:

<select ng-model="month" ng-options="currMonth.key as currMonth.value for currMonth in months"></select>
Run Code Online (Sandbox Code Playgroud)