我想使用Angularjs按字母顺序拆分国家/地区列表。 有点像A:美国,澳大利亚B:巴西,不丹... 该名单来自一个名为国家的表。我试图在国名的第一个字母表上应用angularjs过滤器,但失败了。我必须为它创建一个自定义过滤器吗?使用Angularjs按字母顺序将国家拆分列表
0
A
回答
2
好吧我要回答我自己的问题,最终得到它的工作。 我在下面的格式拉动的国家名单从一个Postgres数据库:
{"alpha2":"ao","alpha3":"ago","numeric":"024","country":"Angola"}
我想分裂国家的名单按字母顺序是这样的:
[例] http://infoplease.com/countries.html#ALPHA-A
我终于得到它通过编写自定义过滤器的工作:
angular.module('countryFilter', []).filter('cfilter', function() {
return function(input,x) {
var groups = [];
for(var i = 0; i < input.length; i++) {
if (input[i].country.substring(0,1) == x)
groups.push(input[i]);
} return groups; }
});
,并用它作为:
ng-repeat="data in countries | cfilter:'A'
{{data.country}}
不要让我知道是否有这样做没有更好的办法...
+0
很好的解决方案,我注意到自定义过滤器内的代码被执行两次,虽然 - 这是一个正常的行为angularjs? –
1
这是不使用过滤器 http://www.bennadel.com/blog/2456-Grouping-Nested-ngRepeat-Lists-In-AngularJS.htm
的另一种可能的解决方案,他创建了一个新的数组标签和数据。优点是在模板中,您不必命名所有可能的字母。
对于我自己,我从对象中取出客户端的第一个字母,并将其存储在标签中。这样我只能得到我使用的字母。
在客户中,我用对象存储了一个数组。
for(var i = 0; i < customers.length; i++){
var customer = customers[i];
if(customer[ 'title' ].substring(0,1) !== groupValue){
var group = {
label : customer[ 'title' ].substring(0,1),
customers : []
};
groupValue = customer.title.substring(0,1);
groups.push(group);
};
group.customers.push(customer);
};
0
排序项目列表是一个jQuery插件,创建类似于那些在音乐和联系人应用程序上看到苹果设备 检查链接的iOS风格的粘头:
http://www.codingprogrammer.com/tutorialdemo/jquery-tutorial/sort-items-alphabetically-jquery-2/
相关问题
- 1. 按字母顺序显示国家?
- 2. 如何按字母顺序拆分?
- 3. 将列表按字母顺序排序
- 4. 按2列中的字母顺序获取国家/地区列表
- 5. 将按字母顺序排列的列表拆分为相等块
- 6. PHP:按字母顺序将数据拆分为
- 7. 按字母顺序排序,然后按字母顺序排列
- 8. 在AngularJS中按字母顺序排列下拉列表
- 9. 按字母顺序排列单词列表并按首字母顺序筛选
- 10. 按字母顺序排列Wordpress列表
- 11. 按字母顺序排列2D列表?
- 12. 按字母顺序排列列表项
- 13. C:按字母顺序排列列表
- 14. 按字母顺序排序列表
- 15. 按字母顺序排序列表
- 16. 按字母顺序排序列表
- 17. 按字母顺序排列的链表不按顺序排列
- 18. 使用Javascript按字母顺序重新排列无序列表
- 19. 按字母顺序排列
- 20. 按字母顺序排列
- 21. 按字母顺序排列
- 22. 将列表拆分成字母范围
- 23. 将每个语句拆分为按字母顺序排列的两个div
- 24. 使用jQuery按字母顺序排列列表中的列?
- 25. 列表视图按字母顺序
- 26. 拆分阵列为多个阵列按字母顺序排列的iOS
- 27. 按字段顺序排列+按字母顺序排列
- 28. 使用猛禽按字母顺序排列数组列表?
- 29. Python:按字母顺序对列表进行排序/分组
- 30. 如何使用Java按字母顺序排序链接列表?
你想在哪里使用那个?一些带有下拉列表的文本框? –
像这样(http://www.infoplease.com/countries.html#ALPHA-A) – firangi
控制器中的数据是什么样的?它来自服务吗?一个jsfiddle或一些代码显示你已经尝试过会有所帮助。 – thebenedict