Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular js中对自动完成下拉列表中的项目列表(按字母顺序)排序_Javascript_Angularjs_Html - Fatal编程技术网

Javascript 如何在angular js中对自动完成下拉列表中的项目列表(按字母顺序)排序

Javascript 如何在angular js中对自动完成下拉列表中的项目列表(按字母顺序)排序,javascript,angularjs,html,Javascript,Angularjs,Html,这是我的自定义下拉列表。数据来自json对象。 <div custom-select name="pSelect" id="pSelect" ng-model="selectedP" ng-trim="false" ng-options="p as p.name for p in data | orderBy:'name'"></div> 你在找这样的东西吗?试着用angular,上面的看起来像这样 //last attribute of orderBy would

这是我的自定义下拉列表。数据来自json对象。


<div custom-select name="pSelect" id="pSelect" ng-model="selectedP" ng-trim="false" ng-options="p as p.name for p in data | orderBy:'name'"></div>
你在找这样的东西吗?

试着用angular,上面的看起来像这样

//last attribute of orderBy would depend on ascending or descending.
<div custom-select name="pSelect" id="pSelect" ng-model="selectedP" ng-trim="false" ng-options="p as p.name for p in data | orderBy: 'p': true"></div>

//or set dynamically
    <div custom-select name="pSelect" id="pSelect" ng-model="selectedP" ng-trim="false" ng-options="p as p.name for p in data | orderBy: type : true"></div>
<button ng-click="type='name'"></button>
<button ng-click="type='year'"></button>
<button ng-click="type='other'"></button>
//orderBy的最后一个属性取决于升序或降序。
//或动态设置

如果对象是数组,则可以使用内置的

只需在ng选项中添加这一行

ng-options="p as p.name for p in data | orderBy : 'name'
这假设您有一个“name”属性,如果没有,则将其更改为您想要排序的任何属性

通过在属性前面使用“-”运算符,可以轻松地反转排序顺序,例如

    ng-options="p as p.name for p in data | orderBy : '-name'

堆栈溢出不是代码编写服务。你能告诉我们你尝试了什么吗?我已经尝试了上述所有方法,但我得到了这些错误“angular.js:11653错误:[$rootScope:infdig]10$digest()迭代已达到。正在中止!在过去5次迭代中触发了观察器:[]”如果你收到这些错误,那么你的代码还有其他问题。下面是我添加orderBy的文档中的一个工作示例。非常感谢AlexI尝试了以上所有方法,但我得到了这些错误“angular.js:11653错误:[$rootScope:infdig]10$digest()迭代已达到。正在中止!在过去5次迭代中解雇了观察者:[]”“@Naren需要更多代码,请设置一个plunker。需要查看控制器定义。还需要了解如何在视图中使用控制器。