【问题标题】:jQuery UI & PHP - Sending 'To' Column to PHPjQuery UI 和 PHP - 向 PHP 发送“到”列
【发布时间】:2012-07-24 20:31:36
【问题描述】:

我正在使用 jQuery UIs Sortable 来允许用户从 4 列中移动项目以及更改每列中项目的顺序。我让后者工作没有问题;将新订单更新到数据库中。

但我不确定如何处理从 A 列到 B 列的存储移动。每个无序列表都有一个唯一的 ID,所以我想将这些信息一起发送;我只是不明白如何做到这一点。

$("#list1, #list2, #list3, #list4").sortable({ 
    connectWith: ".sort",
    placeholder: "shadow", 
    dropOnEmpty: true,
    opacity: 0.8, 
    cursor: 'move', 
    update: function() {
        var order = $(this).sortable("serialize") + '&update=update';
        $.post("/update.php", order, function(theResponse) {
            $("#alert").html(theResponse);
            $("#alert").slideDown('slow');
            slideout();
        });
    }
});

【问题讨论】:

  • 那么您到底在寻找什么?它的工作,对吧?
  • 现在它只发送一个具有新排序顺序的数组(即 1,2,3,4,5)。它需要发送一个关联数组来显示正在排序的项目及其新的父 UL。

标签: php jquery jquery-ui-sortable


【解决方案1】:

我找到了自己问题的答案。答案是以稍微不同的方式将数据传递给 PHP 文件,从而允许更健壮的变量数量(而不仅仅是序列化一组信息)。

var item   = ui.item;
var new_ul = item.parent();
var order  = [];
container.children('li').each(function(i){
    reorder[i] = $(this).attr('id');
});

$.ajax({
    method:'post',
    url: 'update.php',
    data:{
        'new_ul':container.attr('id'),
        'item':item.attr('id'),
        'order':order
    }
});

此解决方案的全部功劳归于 CodeIgniter 的用户“Zehee”(我相信他从 37signals 获得了解决方案)http://codeigniter.com/forums/viewthread/175134/#831756

【讨论】:

    猜你喜欢
    • 2015-08-17
    • 2017-04-23
    • 1970-01-01
    • 2014-04-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2019-05-10
    相关资源
    最近更新 更多