4

我的场景是我有一个可拖动但不可排序的项目列表和另一个可排序的列表。我想要实现的是从可拖动对象拖动到可排序对象中,但是当我将项目放入可排序对象时,我想发出 ajax 请求,并根据答案将项目插入可排序对象中。我尝试在 beforeStop 上使用或接收可排序的事件以取消添加到可排序的项目,但没有找到解决方案。我在这里做了一个 jsfiddle http://jsfiddle.net/5pTCd/21/

4

1 回答 1

-1

为什么不在接受/恢复设置中使用您的可拖动/可放置?

这是完成接受/恢复拖放的理论方法:

首先,如果不接受,您需要将可拖动设置为恢复:

$(".drag").draggable({ revert: 'invalid' });

然后,您当然可以定义 droppable 中有效的内容:

$(".drop").droppable({ accept: '.drag' });​

但是感谢 jQuery UI 中包含的魔法粉,您可以插入一个函数作为“accept”的值,它的返回值将定义您接受的有效元素:

$(".drop").droppable( { accept: function() {
    // return true or false
} });​

作为替代方案,您可以使用 dragstart 事件来更改 droppable 的接受选项:

$(".drag").draggable({
    start: function() { 
    // your ajax call and then a callback with :
    $(".drop").droppable("option","accept","#thisItemsID") }
});
于 2012-08-22T12:00:19.820 回答