如何使用Angular在选择下拉列表中订购列表?
这是角度控制器:
var app = angular.module("app", []); app.controller('Ctrl', function($scope, $filter, $http) { $scope.options= [ { "id": 823, "value": "81" }, { "id": 824, "value": "77" }, { "id": 825, "value": "152" }, ]; });
和HTML:
Angular-xeditable Editable row (Bootstrap 3)
现在订单是:81,77,152
我想要:77,81,152
我怎么能这样做?
Jsfiddle测试
谢谢
您的值是字符串,因此除非您将它们转换为整数,否则它们不会自然排序.您可以通过创建自己的过滤器或在$ scope上定义一个简单的排序函数来转换它们:
Fiddle
<select
ng-model="test"
ng-options="v.id as v.value for v in options | orderBy: naturalOrder"
></select>
$scope.naturalOrder = function(item){
return parseInt(item.value, 10);
};