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

时间:2012-05-04 14:41:40

标签: jquery-ui jquery-ui-sortable jquery-ui-draggable

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

1 个答案:

答案 0 :(得分:-1)

为什么不在接受/恢复设置中使用draggable / droppable?

这是一种实现接受/恢复阻力的理论方法。丢弃:

首先,如果不接受,则需要将draggable设置为还原:

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

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

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

但是由于jQuery UI中包含了神奇的粉末,你可以插入一个函数作为“accept”的值,它的返回值将定义你接受的有效元素:

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

作为替代方法,您可以使用dragstart事件更改droppable的accept选项:

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