Php jQuery,需要有关'的帮助;巫术式';ajax调用和POST变量

Php jQuery,需要有关'的帮助;巫术式';ajax调用和POST变量,php,javascript,jquery,mysql,jquery-ui-sortable,Php,Javascript,Jquery,Mysql,Jquery Ui Sortable,我现在左右为难,似乎超出了我的能力范围 我有一组使用“biglist”类连接的排序表 我想做的是绑定#biglist的sortreceive回调(每当一个列表从另一个列表接收到一个元素时进行回调),以获取元素的“boxnum”值(表示它来自哪个列表),并执行更新查询,将id的boxnum值从5(它来自的列表)更改为7(它被拖动到的列表)因此,这种状态会持续下去 因此,交换将如此(大致)进行 然后在boxchange.php内-> $id = $_POST['id'] $box = $_POS

我现在左右为难,似乎超出了我的能力范围

我有一组使用“biglist”类连接的排序表

我想做的是绑定#biglist的sortreceive回调(每当一个列表从另一个列表接收到一个元素时进行回调),以获取元素的“boxnum”值(表示它来自哪个列表),并执行更新查询,将id的boxnum值从5(它来自的列表)更改为7(它被拖动到的列表)因此,这种状态会持续下去

因此,交换将如此(大致)进行

然后在boxchange.php内->

 $id = $_POST['id']
 $box = $_POST['boxnum']
 ->update query SET boxid to new boxid WHERE id = posted ID of element
我希望这是有道理的。这似乎是一个让我的程序工作的非常巧妙的方法! 非常感谢您的帮助

EDIT:
刚刚清理了这个函数,看看是否需要对它进行任何更改(我知道有,因为它看起来很邋遢)。这个函数需要为每个可排序表分别进行复制/更改,但它至少完全可以让程序工作

function ReceiveTwo() 
{
$('#sortable2').bind('sortreceive', function(event, ui) 
                    {
                        boxnum = $(this).attr('boxnum');
                        id = $(this).attr('id');
                       $.ajax
                            ({
                        url: "boxchange.php",
                        type: "POST",
                        data: boxnum, id,
                        success : function(feedback)
                            {
                            $('#data').html(feedback)
                            }

                            })
                    });
                    $('#sortable2').sortable("refresh");
});

我认为将Javascript数据发送到服务器端PHP脚本的方式是使用Javascript关联数组,如下所示:

$.ajax({
  url: "boxchange.php",
  type: "POST",
  data: {'boxnum': boxnum, 'id': id},
  success: function(data,status) { ... }
然后,您的“boxchange.php”脚本将能够通过$\u POST['boxnum']和$\u POST['id']访问这些变量

我想那是你的目标,但我不完全确定

$('#sortable2').bind('sortreceive', function(event, ui) {
   $.ajax({
     url: "boxchange.php",
     type: "POST",
     beforesend: function(){
        boxnum = $(this).attr('boxnum');
        id = $(this).attr('id');
     },
     data: {'boxnum': boxnum, 'id': id},
     success : function(feedback) {
        $('#data').html(feedback),
     }
   });
});

beforesend是在ajax调用之前触发的事件。我相信你可以在这里设置你的属性来完成你想要的任务。

现在还不清楚它的哪一部分对你不起作用,你还说“我有一组使用“biglist”类连接的排序表。”但你使用的是#biglist它应该是。biglist如果它是一个类的话。糟糕的是,我有一种感觉,我会得到像mkoryak这样的回复。我想知道如何使用ajax调用发送两组数据(我在该示例中编写的方式与语法afaik不匹配),我希望在调用之前定义boxnum和id,以便知道要发送什么,然后在指定请求类型(POST)后,我需要能够将这两个值发送到我的php脚本以更新数据库。这有意义吗?如果不是这样的话,这将再次肯定我对以其他人理解的方式提问这类问题的可怕把握:)非常接近,我需要确保我正确定义了“boxnum”,然后在ajax调用中将其发送为“boxnum”。因此$(this.attr('id')对于正在拖动的元素的当前id可以正常工作-但是$(this.parent.attr('boxnum')没有获取接收元素的列表的箱号。我需要抓取这个变量,这样我就可以将它发送到我的php查询,将一个值更改为那个数字:)好,这次是100%特定的!当涉及到成功功能和反馈时,该程序被“屏蔽”。它只是使它没有一个项目显示在他们的列表中…两个都是空的。
$('#sortable2').bind('sortreceive', function(event, ui) {
   $.ajax({
     url: "boxchange.php",
     type: "POST",
     beforesend: function(){
        boxnum = $(this).attr('boxnum');
        id = $(this).attr('id');
     },
     data: {'boxnum': boxnum, 'id': id},
     success : function(feedback) {
        $('#data').html(feedback),
     }
   });
});