如何在jquery'each'循环中对json值进行分组和排序

问题描述 投票:1回答:1

我正在尝试从下面的json中将美国代表和参议员的数据拉入下拉菜单...理想情况下按“Sen”和“Rep”分组然后按字母顺序排列。到目前为止,下面的代码正在努力让所有成员进入下拉列表,但不进行分组或按字母顺序排列。会喜欢任何想法,谢谢!

<script>


$.ajax({
url:'https://theunitedstates.io/congress-legislators/legislators- 
current.json',
dataType: 'json',
type:'get',
cache:false,
success:function(data) {
$(data).each(function(index, value) {

     $("#members").append("<option>" + value.terms[value.terms.length- 
1].type + " " + value.name.first + " " + value.name.last + "</option>");
    });
}

});



</script>

<form>

    <select id="members" style="text-transform:uppercase;">
        <option selected="selected">Select...</option>
    </select>
</form>
jquery json ajax
1个回答
1
投票

HTML <optgroup>元素在<select>元素中创建一组选项。

(Qazxswpoi)

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup

<select id="members" style="text-transform:uppercase;"> <optgroup id="senators" label="Senators"></optgroup> <optgroup id="reps" label="US Reps"></optgroup> </select> 方法对数组中的元素进行排序并返回数组。

(Qazxswpoi)


所以,如果您想按姓氏排序,可以试试这个:

sort()

的jsfiddle(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

© www.soinside.com 2019 - 2024. All rights reserved.