jQuery可排序的初始加载菜单顺序不正确

时间:2017-06-09 14:22:42

标签: jquery jquery-ui

我的数据库中有一个存储数字的序列:

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如下:'data'是: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));
}

我的sortable可以完全保存,但是当我检索这个数据值(3,7,9,11,15)时,它似乎无法正常工作。当我有(1到15(15项))它工作正常,这让我思考是因为它认为有些项目丢失了?

有什么想法吗?

小提琴: https://jsfiddle.net/ocrwp81b/

1 个答案:

答案 0 :(得分: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]));
}