用jquery按字母顺序排序手风琴

时间:2014-01-22 14:03:47

标签: jquery sorting accordion alphabetical

嗨我有手风琴,我想按字母顺序对它们进行排序。

我想要的是所有手风琴的顶部4个按钮按字母顺序排序:

  

姓名,姓氏,街道,城市

所以这是我的HTML代码。

<div class="all">
        <div class="accordion-head">
            <div style="width: 25%;">Name</div>
            <div style="width: 25%;">Latname</div>
            <div style="width: 25%;">Street</div>
            <div style="width: 25%;">City</div>
        </div>  

   <div class="detail inside_accoridon">
        <div class="col_6">Google Maps</div>
        <div class="col_6">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</div>
    </div>
</div>


<div class="all">
        <div class="accordion-head">
            <div style="width: 25%;">Name</div>
            <div style="width: 25%;">Latname</div>
            <div style="width: 25%;">Street</div>
            <div style="width: 25%;">City</div>
        </div>  

   <div class="detail inside_accoridon">
        <div class="col_6">Google Maps</div>
        <div class="col_6">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</div>
    </div>
</div>

希望有人知道如何处理这个问题。

最好的问候。

1 个答案:

答案 0 :(得分:1)

为div.all添加id属性,为td-tags添加类,例如:

<div id="acc-1" class="all">
    ...  
    <td class="acc-name" width="25%">Name</td>
    <td class="acc-lastname" width="25%">Lastname</td>
    <td class="acc-street" width="25%">Street</td>
    <td class="acc-city" width="25%">City</td>
    ...
</div>

然后生成4个关联数组,其中Name,Lastname,Street和City为键,accordion-item-id为以下值:

var names = {};
$('div.all').each(function() {
    names[$(this).find('td.name').text()] = $(this).attr('id');
});

现在您可以使用array.sort()对数组进行排序;并改变手风琴的顺序。