2017-06-09 15 views
1

私はそうのような数字を格納し、私のデータベースにある配列を有する:jQueryのソート可能な初期ロードメニュー順序正しくない

3、7、9、11、15

を、私は私のデータベースからこのシーケンスを引っ張りますこのシーケンスに基づいてメニューをソートしてみてください。

私のdivはとても似ています:

<div id="menu_left"> 
    <div id="item_box_3">3</div> 
    <div id="item_box_7">7</div> 
    <div id="item_box_9">9</div> 
    <div id="item_box_11">11</div> 
    <div id="item_box_15">15</div> 
</div> 

私のjQueryは、以下である: 'データ' である:3、7、9、11、15 - これは、アレイに分割されます。

var orderArray = data.split(','); 
var listItems = $("#menu_left"), items = $("#menu_left > div"); 

for (var i = orderArray[orderArray.length - 1]; i >= 0; i--) { 
    listItems.prepend(items.get(orderArray[i] - 1)); 
} 

私のソート可能な、完全に罰金保存されていますが、私は、このデータ値(3,7,9,11,15)を取得するときには動作しないようです。私は(1〜15(15項目))それは正常に動作し、いくつかの項目が不足していると思っているので、それは考えている?

アイデア?

フィドル:https://jsfiddle.net/ocrwp81b/

+0

ループは、11から0に1つ下がります。それはあなたが欲しいものですか?私はあなたが実際にやろうとしていることを理解していないか、jQueryとjQuery UIがあなたの質問にどのように関係しているかを見ています。 – j08691

+0

ご迷惑をおかけいたして申し訳ありません。私は基本的にデータベースから取得するシーケンスに基づいてdivを順序付けしようとしています。だから、私は '3,7,9,11,15'を持ち、divにはIDがあり、データベースからIDシーケンスでdivを注文したい。 –

+0

このようにhttps://jsfiddle.net/j08691/t7hbbvya/? – j08691

答えて

0

は、このコードを試してみて、これはあなたが探していた行動であれば教えてください。

var orderArray = ["3","9","7","15","11"]; 
var listItems = $("#menu_left"), items = $("#menu_left > div"); 

for (var i = orderArray.length - 1; i >= 0; i--) { 
    listItems.prepend($("#item_box_"+orderArray[i])); 
} 
+0

私はあなたのコードをフィドルから修正しました。 –

関連する問題