Jquery可排序更新事件只能调用一次吗?

发布于 2024-09-06 21:03:06 字数 842 浏览 5 评论 0原文

我正在尝试使用 Jquery & 进行类别更改菲律宾比索我对此没有问题。我的问题是,当调用更新事件时,它返回 2 个结果。拖动父项有 1 个结果,删除父项有 1 个结果。我只想拨打失联父母的身份证。这是我的脚本:

$("#gallery ul").sortable({
    connectWith: '.dropBox',
    opacity: 0.35,
    scroll: true, 
    scrollSensitivity: 100,
    //handle: '.move',
    helper: 'clone',
    containment:'#gallery',
    accept:'#gallery > .photo',
    revert: true,
    update: function(event, ui){
        params = 'c=' + $(this).attr('id') + '&id=' + ui.item.attr('id');

        $.ajax({
            type: 'POST',
            url: 'processData.php',
            data: params,
            error:function(){
                alert("Error!");
            },
            success:function(data){
                $("#serverResponse").html(data);
            }
        });
    }
}).disableSelection();

你们能帮我吗?

I'm trying to make category changes with Jquery & Php. I have no problem with it. My problem is, when the update event is called, it returning 2 results. 1 result for Dragged Parent, One result for Dropped Parent. I wanna call only dropped parent's id. Here is my script:

$("#gallery ul").sortable({
    connectWith: '.dropBox',
    opacity: 0.35,
    scroll: true, 
    scrollSensitivity: 100,
    //handle: '.move',
    helper: 'clone',
    containment:'#gallery',
    accept:'#gallery > .photo',
    revert: true,
    update: function(event, ui){
        params = 'c=' + $(this).attr('id') + '&id=' + ui.item.attr('id');

        $.ajax({
            type: 'POST',
            url: 'processData.php',
            data: params,
            error:function(){
                alert("Error!");
            },
            success:function(data){
                $("#serverResponse").html(data);
            }
        });
    }
}).disableSelection();

Can you help me guys?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

可是我不能没有你 2024-09-13 21:03:06

例如,使用 updatestopreceive 事件

$(function() {
    position_updated = false; //flag bit

    $(".sortable").sortable({
        connectWith: ".sortable",

        update: function(event, ui) {
            position_updated = !ui.sender; //if no sender, set sortWithin flag to true
        },

        stop: function(event, ui) {
            if (position_updated) {

                //code

                position_updated = false;
            }
        },

        receive: function(event, ui) {
            // code
        }

    }).disableSelection();
});

Use update, stop and receive events, for example

$(function() {
    position_updated = false; //flag bit

    $(".sortable").sortable({
        connectWith: ".sortable",

        update: function(event, ui) {
            position_updated = !ui.sender; //if no sender, set sortWithin flag to true
        },

        stop: function(event, ui) {
            if (position_updated) {

                //code

                position_updated = false;
            }
        },

        receive: function(event, ui) {
            // code
        }

    }).disableSelection();
});
森罗 2024-09-13 21:03:06

ui.sender 仅存在于第二个回调中。

$(".sortable").sortable({
    connectWith: ".sortable",
    update: function (evt, ui) {
        // just ignore the second callback
        if(ui.sender == null){
            // call ajax here
        }
    },
    receive: function (evt, ui) {
        // called after the first 'update'
        // and before the second 'update'
        // ui.sender is always exists here
    }
}).disableSelection();

ui.sender only exists in second callback.

$(".sortable").sortable({
    connectWith: ".sortable",
    update: function (evt, ui) {
        // just ignore the second callback
        if(ui.sender == null){
            // call ajax here
        }
    },
    receive: function (evt, ui) {
        // called after the first 'update'
        // and before the second 'update'
        // ui.sender is always exists here
    }
}).disableSelection();
高冷爸爸 2024-09-13 21:03:06

使用sortable不同的事件

  • 开始
  • 排序
  • 更改
  • 之前
  • 停止停止
  • 更新
  • 接收
  • 删除
  • 结束
  • 激活
  • 停用
  • 您应该尝试

我很确定其中一个将是您的答案。

来源:http://jqueryui.com/demos/sortable/#event-change

You should try to play with the sortable different events

  • start
  • sort
  • change
  • beforeStop
  • stop
  • update
  • receive
  • remove
  • over
  • out
  • activate
  • deactivate

I'm pretty sure one of'em will be your answer.

Source: http://jqueryui.com/demos/sortable/#event-change

你与清晨阳光 2024-09-13 21:03:06

只需这样做:

  update: function(event, ui) {
            if(ui.sender) {
             // Your actual code
            }
        },

Just do this:

  update: function(event, ui) {
            if(ui.sender) {
             // Your actual code
            }
        },
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文