javascript - 如何按键对ng-options中的数组进行排序?

标签 javascript angularjs select angularjs-filter angularjs-ng-options

有这样的数组:

month: Array[13]0: "M"1: "January"2: "February"3: "March"4: "April"5: "May"6: "June"7: "July"8: "August"9: "September"10: "October"11: "November"12: "December"

我愿意:

ng-options="key as value for (key, value) in data.month | orderBy:key"

但我得到未排序的选择列表。

最佳答案

要使用过滤器进行跟踪,请使用track by

标记

ng-options="key as value for (key, value) in data.month | orderBy:'key' track by key"

更新

这个 orderBy 永远不会工作,因为你有文字数组。您需要将此数组转换为类似 JSON 的对象,其结构类似于 [{id: 0, value: "M"}, {id: 1, value: "January"},......]

HTML

ng-options="item.id as item.value for items in data.month | orderBy:'id'"

Demo Plunkr

关于javascript - 如何按键对ng-options中的数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30621053/

相关文章:

AngularJS NodeJS HTTPS 请求

javascript - Angular 常量与 javascript 常量

AngularJS Bootstrap 选择选择器默认值

javascript - 我的选择列表如何变得不可编辑?

c# - 如何通过主键获取大量数据库表记录?

javascript - 如何使用 JavaScript 创建唯一 ID?

javascript 插件 - 面向对象?

javascript - window.print() 在 Internet Explorer 中挂起

javascript - 获取 nodejs 错误的行号

javascript - 将数组中未知数量的对象合并为单个js对象