如何在Jquerymobile中动态排序listview

时间:2011-07-31 15:45:04

标签: listview sorting jquery-mobile

我想问一下: 我有一个预定义顺序的数组。

var order=new Array(); 
order[0]="Tesco";       
order[1]="Interspar";
order[2]="Penny Market";

等。

我需要按照预定义的顺序写出项目。

我可以按顺序写出项目,但我不能以预定义的顺序写出来。

$.each(mapdata, function(index, value) {

    //IF IS CHAIN IN ARRAY obchody, exit LOOP , ELSE ADD CHAIN TO LIST  
    if (jQuery.inArray(value.retezecnazev, obchody) === -1) {

        obchody.push(value.retezecnazev);

        countOfProducts++;

        //CHANGE DATE FORMAT 
        var choppedDate = value.platido.split('-');

        var newDate = choppedDate[2] + "." + choppedDate[1] + "." + choppedDate[0];

        $("ul").append("<li data-icon=\"false\"><a data-ajax=\"false\"  href=\"show_flyer.html?id=" +
                value.id +
                "&countOfPages=" +
                value.strany +
                "&nameOfChain=" +
                value.retezecnazev +
                "  \"><img  style=\"margin-top:10px;\" src=\" " + value.img + " \"/><h3 style=\"font-size:1.5em;\">" +
                value.retezecnazev +
                "</h3><div class=\"pageCount\" style=\"font-size:0.7em;\">" +
                value.strany +
                " Stran</div><div style=\"font-size:0.7em;\" class=\"pageCount\">Platnost do: " +
                newDate +
                " </div></a> </li>");
    }
});

有人可以帮助我并知道它是如何解决的吗?

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

您是否希望在第一次编写数组时对其进行排序,然后保持原样,或者您是否希望允许用户在数组已经在页面上之后对其进行排序?如果您不关心在页面加载后对数组进行排序,那么在循环遍历mapData之前立即应用排序:

http://www.w3schools.com/jsref/jsref_sort.asp