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

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

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

最佳答案

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

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

首先,您需要将您的可拖动设置为在不被接受时恢复:

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

关于jquery-ui - jquery UI可拖动+可排序(取消接收),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451005/

相关文章:

javascript - jquery 对话框小部件不保留父级

javascript - 使用 jQuery 可以实现可拖动且可调整大小的文本框/文本区域吗?

Jquery UI Droppable 无法正常工作,在 Firefox 和 Chrome 中出现错误?

javascript - jquery ui 可排序元素在框外时显示

jquery - 我可以像数据库记录一样将自定义属性存储在 HTML DOM 中吗?

javascript - 尝试让 jquery-ui 选项卡在传单 map 内的 div 上工作时出错

javascript - Jquery Datatable拖放与行分组

javascript - 拖放时获取元素在列表中的位置 (ui.sortable)

css - 如何为连接的可排序对象修复错误定位的可拖动助手(部分由 float /相对定位的父元素引起)?

jquery - 如何覆盖 JQuery UI 样式?