Angularjs 角度orderBy筛选器未自然排序
我有以下代码:Angularjs 角度orderBy筛选器未自然排序,angularjs,Angularjs,我有以下代码: <html ng-app="myApp"> <head> <title>Angular Demo</title> <script src="angular/angular.min.js"></script> <script src="js/controllers.js"></script> <script s
<html ng-app="myApp">
<head>
<title>Angular Demo</title>
<script src="angular/angular.min.js"></script>
<script src="js/controllers.js"></script>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
</head>
<body>
<div ng-controller="myController">
<div ng-init="oras='Valcea'"></div>
<input type="text" ng-model="search"><br/><br/>
<select name="" id="" ng-model="eleviorder">
<option value="name">Nume</option>
<option value="prenume">Prenume</option>
<option value="age">Varsta</option>
<option value="highscool">Liceu</option>
<option value="luckynumber">Numar norocos</option>
</select>
Ordonare Nume:<label>
<input type="radio" name="direction" ng-model="direction" checked/>ascending</label>
<label>
<input type="radio" name="direction" ng-model="direction" value="reverse"/>descending
</label>
<ul>
<li ng-repeat="item in elevi | filter :search | orderBy :eleviorder :direction :myfunction">
<div>{{item.name}} {{item.prenume}}, Varsta:{{item.age}}, Liceu: {{item.highscool}}, Numar norocos: {{item.luckynumber}} Oras:{{oras}}</div>
</li>
</ul>
</div>
</body>
</html>
谁从data.json获取此数据
[
{"name":"Udrea",
"prenume":"Alexandru",
"age":"27",
"highscool":"Henri Coanda",
"luckynumber":"7"
},
{"name":"Rizea",
"prenume":"Paul",
"age":"23",
"highscool":"Mircea Cel Batran",
"luckynumber":"11"
},
{"name":"Popescu",
"prenume":"Ion",
"age":"19",
"highscool":"Pedagogic",
"luckynumber":"17"
},
{"name":"Popescu",
"prenume":"Maria",
"age":"18",
"highscool":"Sanitar",
"luckynumber":"8"
},
{"name":"Muscalu",
"prenume":"Leonard",
"age":"22",
"highscool":"Forestier",
"luckynumber":"47"
},
{"name":"Ionescu",
"prenume":"Ema",
"age":"29",
"highscool":"Alexandru Lahovari",
"luckynumber":"26"
}
]
我的问题是,在自然顺序中,我不能按幸运数字排序,它排序了像11、17、26、47、7、8的幸运数字,而不是7、8、11、17、26、47 < /P > < P>这是因为盎格鲁JS认为这个字段是一个字符串属性。所以它是按字母顺序排列的。如果从integer属性的值中删除引号,它应该可以正常工作
[
{"name":"Udrea",
"prenume":"Alexandru",
"age":27,
"highscool":"Henri Coanda",
"luckynumber":7
},
{"name":"Rizea",
"prenume":"Paul",
"age":23,
"highscool":"Mircea Cel Batran",
"luckynumber":11
},...
]
这是一根绳子。这是对字符串的完美排序。您需要将它们更改为整数,或者编写一个自定义过滤器,首先使用parseInt进行排序。是的,但如何对其进行自然排序?没有解决办法?这是一个字符串。这是对字符串的完美排序。您需要将它们更改为整数,或者编写一个自定义过滤器,首先使用parseInt进行排序。编辑.json文件可能是最简单的方法。
[
{"name":"Udrea",
"prenume":"Alexandru",
"age":27,
"highscool":"Henri Coanda",
"luckynumber":7
},
{"name":"Rizea",
"prenume":"Paul",
"age":23,
"highscool":"Mircea Cel Batran",
"luckynumber":11
},...
]