AngularJS - ngOptions按标签数字排序

Tim*_*ers 1 angularjs

我有用户上传表格数据,然后我允许他们在它一直插入之前解析它.

例如,一个用户可以上传:

ID, NAME, PASSWORD, ADDRESS, EMAIL
10, Tim, foo, 123 S Main, tim@mailinator.com
11, Withers, foo, 123 S Main, tim@mailinator.com
//ETC//
Run Code Online (Sandbox Code Playgroud)

另一个用户可以不同地格式化他们的数据

FIRST_NAME, LAST_NAME, ID, PASSWORD, EMAIL
Tim, Withers, 10, 123, tim@mailinator.com
//You get the idea...
Run Code Online (Sandbox Code Playgroud)

我的应用程序获取数据并允许用户在最终上传到服务器之前指定哪些列具有必要的信息:

Column 0 => ID
Column 4 => Email
Column 2 => Password
Run Code Online (Sandbox Code Playgroud)

我想用a select来限制用户输入:

Which column is the First Name? 
<select 
    ng-options="k as k for (k,v) in uploadData.row[0]" 
    ng-model="columnData.firstName">
</select>
Run Code Online (Sandbox Code Playgroud)

这很好用,但如果它们有超过9列,则选择框如下所示:

0
1
10
11
12
13
2
3
4
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)

如何确保连续显示1-13?是否有另一种方法来创建具有特定长度选项的选择?

编辑:摆弄问题:http://jsfiddle.net/aBccw/204/

rvi*_*cio 5

angular docs解释了您正在使用的理解表达式(label for (key , value) in object)适用于对象数据源.这就是它将索引作为字符串而不是整数处理的原因.

你应该尝试使用索引:

<select ng-model="selected" ng-options="friends.indexOf(v) for v in friends">
Run Code Online (Sandbox Code Playgroud)

这是你的更新小提琴.