jQuery:如何从最后到第一个反转可排序('序列化')数组?

时间:2010-05-27 11:54:38

标签: javascript jquery jquery-ui jquery-ui-sortable serialization

讨论开始jQuery: What to do with the list that sortable('serialize') returns?

如何从最后一个到第一个反转,updateList.php?id [] = 5& id [] = 4& id [] = 3& id [] = 2& id [] = 1&& action =更新

<ul>
<li id="oreder-5">5</li>
<li id="oreder-4">4</li>
<li id="oreder-3">3</li>
<li id="oreder-2">2</li>
<li id="oreder-1">1</li>
<ul>

我的代码:

$(document).ready(function(){
    order=[];
    $('#list ul').children('li').each(function(idx, elm) { order.push(elm.id.split('-')[1]) });
    $.post('updateList.php', {'order[]': order, action: 'update'});

    function slideout(){
        setTimeout(function(){ $("#response").slideUp("slow", function () {}); }, 2000);
    }
    $("#response").hide();
 $(function() {
    $("#list ul").sortable({ opacity: 0.8, cursor: 'move', update: function() {
   var order = $(this).sortable("serialize") + '&action=update'; 
   $.post("updateList.php", order, function(theResponse){
    $("#response").html(theResponse);
    $("#response").slideDown('slow');
    slideout();
   });
    }});             
 });
});

2 个答案:

答案 0 :(得分:8)

这样做:

var reversed = $(this).sortable("serialize").split("&").reverse().join("&");
var order = reversed + '&action=update'; 

换句话说:

  • Split'&amp;'的字符串。
  • Reverse生成的数组。
  • Join带有'&amp;'的数组形成反向序列化字符串的字符。

答案 1 :(得分:1)

需要order.reverse();在$ .post(..);

之前