Jquery ui jquery UI可拖动+;可排序(取消接收)

Jquery ui jquery UI可拖动+;可排序(取消接收),jquery-ui,jquery-ui-sortable,jquery-ui-draggable,Jquery Ui,Jquery Ui Sortable,Jquery Ui Draggable,我的场景是,我有一个可拖动但不可排序的项目列表和另一个可排序的列表。我想要实现的是从draggable拖动到sortable中,但是当我将项目放到sortable中时,我想要发出ajax请求,并根据答案将项目插入到sortable中或不插入。 我试图使用beforeStop或receive events for the sortable来取消添加到sortable的项目,但没有找到解决方案。 我在这里做了一个jsfiddle为什么不在accept/revert设置中使用您的draggable/d

我的场景是,我有一个可拖动但不可排序的项目列表和另一个可排序的列表。我想要实现的是从draggable拖动到sortable中,但是当我将项目放到sortable中时,我想要发出ajax请求,并根据答案将项目插入到sortable中或不插入。 我试图使用beforeStop或receive events for the sortable来取消添加到sortable的项目,但没有找到解决方案。
我在这里做了一个jsfiddle

为什么不在accept/revert设置中使用您的draggable/dropable

下面是一种实现接受/恢复拖放的理论方法:

首先,如果不接受Dragable,您需要将其设置为还原:

$(".drag").draggable({ revert: 'invalid' });
当然,您可以定义您的下拉列表中的有效内容:

$(".drop").droppable({ accept: '.drag' });​
$(".drag").draggable({
    start: function() { 
    // your ajax call and then a callback with :
    $(".drop").droppable("option","accept","#thisItemsID") }
});
但由于jQuery UI中包含的魔力粉,您可以插入一个函数作为“accept”的值,它的返回值将定义您接受的有效元素:

$(".drop").droppable( { accept: function() {
    // return true or false
} });​
或者,您可以使用dragstart事件更改可拖放设备的accept选项:

$(".drop").droppable({ accept: '.drag' });​
$(".drag").draggable({
    start: function() { 
    // your ajax call and then a callback with :
    $(".drop").droppable("option","accept","#thisItemsID") }
});

你需要接受什么?如果排序,则仍在同一列表中。我们仍然可以有一个排序表,它也是可删除的。