2011-07-31 59 views
3

我想問一下: 我有一個預定義順序的數組。如何在Jquerymobile中動態地對listview進行排序

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>"); 
    } 
}); 

有誰可以幫助我,並知道它如何解決?

非常感謝您的任何建議。

+0

是'mapdata'參數數組或一個普通的JavaScript對象(一HashMap的)?如果您正在迭代Object的屬性,則不能保證順序。您可能想要將'order'數組傳遞給'$ .each(...)'。 – kpozin

+0

相關:http://stackoverflow.com/questions/1134976/how-may-i-sort-a-list-alphabetically-using-jquery –

回答

1

您是否想在首次寫入數組時對數組進行排序,然後保持原樣,還是希望允許用戶在數組已經存在之後對數組進行排序?如果你不關心排序的頁面加載後的數組,然後你馬上循環之前在申請屬於MapData排序:

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

相關問題