【发布时间】:2014-12-12 22:12:36
【问题描述】:
我有一个包含以下数据的选择下拉列表; (这也是 Chrome 中控制台的输出)。
{
8: "Something",
9: "Something Again!",
10: "And again",
11: "And again!",
12: "etc...",
13: "etc etc...",
}
选择下拉菜单的 html 和角度;
<select name="name" ng-model="choosen">
<option value="">Please Select</select>
<option ng-repeat="(key, value) in data" value="[[key]]">[[value]]</option>
</select>
数据是通过在 Laravel (4.2) 中使用 lists 函数使用以下查询获得的;
Model::lists('name','id');
由于某种原因,下拉列表的数据在我的下拉列表中重新排序;
<select name="name" ng-model="choosen">
<option value="">Please Select</select>
<option value="10">And again</option>
<option value="11">And again!</option>
<option value="12">etc...</option>
<option value="13">etc etc...</option>
<option value="8">Something</option>
<option value="9">Something Again!</option>
</select>
如何使 ng-repeat 的输出以正确的数字顺序遍历数据顺序?
像这样;
<select name="name" ng-model="choosen">
<option value="">Please Select</select>
<option value="8">Something</option>
<option value="9">Something Again!</option>
<option value="10">And again</option>
<option value="11">And again!</option>
<option value="12">etc...</option>
<option value="13">etc etc...</option>
</select>
Plunkr 是here
【问题讨论】:
-
->orderBy('id', 'asc') ? ngRepeat 不会重新排序您的数据,因此您传递给 ngRepeat 的数据是按该顺序排列的(对不起,文字游戏)
-
@originof 从控制器到角度数据的顺序是正确的,控制台输出的是数据的顺序。但是当放入 ng-repeat 时,数据会四处移动。
-
你确定吗?尝试写一个 plunkr
-
@originof 我非常积极。
标签: php angularjs laravel-4 angularjs-ng-repeat