2011-07-31 8 views
3

私は質問したい: 私はあらかじめ定義された順序の配列を持っています。Jquerymobileでリストビューを動的に並べ替える方法

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

は、JavaScriptのオブジェクト(A 'mapdata'引数配列またはプレーンですハッシュマップ)?オブジェクトのプロパティを反復処理している場合、その順序は保証されません。おそらく 'order'配列を' $ .each(...) 'に渡したいと思うでしょう。 – kpozin

+0

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

答えて

1

あなたは、配列にそれが書かれて非常に最初の時間をソートし、その後でそのままにしますか、またはあなたはそれがページ上にすでに存在だ後、ユーザは配列をソートできるようにしたいですか?あなたは、ページが読み込まれた後、配列をソートする気にしない場合は、地図データの上にあなたのループの直前に並べ替えを適用します。

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

関連する問題