jQuery,需要帮助'sortreceive'ajax调用和POST变量

时间:2010-08-06 16:38:21

标签: php javascript jquery mysql jquery-ui-sortable

我现在的困境似乎超出了我的能力范围!

我使用类'biglist'有一组连接的sortables。

我想要做的是绑定#biglist的sortreceive回调(每当列表从另一个接收元素时生成)以获取元素的'boxnum'值(表示它来自哪个列表)并执行一个UPDATE查询将id的boxnum值从例如5(列出它的列表)更改为7(列出它被拖动到),以便状态持续存在。

所以交换会像(大致)

那样发生
$( "#biglist" ).bind( "sortreceive", function(event, ui) {
  ajax call to boxchange.php
  create vars to represent elements 'boxnum' value and 'box moved to' value     

});

然后在boxchange.php - >

里面
 $id = $_POST['id']
 $box = $_POST['boxnum']
 ->update query SET boxid to new boxid WHERE id = posted ID of element

我希望这是有道理的。这似乎是一个非常光滑的方式让我的程序工作! 非常感谢任何帮助。

EDIT:

刚刚清理了这个函数,看看是否有任何需要对它进行的更改(我知道它有,因为它看起来很邋))这个函数需要分别复制/修改每个可排序但是它' d至少让这个程序工作!

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");
});

2 个答案:

答案 0 :(得分:2)

$('#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调用之前触发的事件。我相信你可以设置你的属性来完成你想要的东西。

答案 1 :(得分:0)

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

$.ajax({
  url: "boxchange.php",
  type: "POST",
  data: {'boxnum': boxnum, 'id': id},
  success: function(data,status) { ... }

您的“boxchange.php”脚本可以通过$ _POST ['boxnum']和$ _POST ['id']访问这些变量。

我认为那是你的目标,但我并不完全确定......