0

我使用 jQuery 1.9.1 和 jQuery UI 1.9.2。在我的应用程序中,我有超过 1 个列表,可以有超过 1 行。正如您在官方演示中看到的那样:它适用于一个列表。但我已经用 2 个列表尝试过,它不起作用。第一个列表中的项目不能移动到第二个。我创建了这个测试页面以获得更好的解释。谢谢。

我的简单 JS:

$(function() {
    $('#sort1, #sort2').sortable().disableSelection();
});

另外,当我添加connectWith: '.sort'ui 时,定义放置位置不正确。如果我添加float: left到列表中,我无法从一个列表移动到另一个列表。

4

2 回答 2

2

您需要connectWith在插件的选项中进行设置。我已经更新了您原来的 JSFiddle:http: //jsfiddle.net/fjjqM/1/

目前它的移动有点奇怪,因此您可能需要查看有关此的官方文档以获取更多信息:http: //jqueryui.com/sortable/#connect-lists

于 2013-03-04T08:19:58.380 回答
1

试试这个帖子,它和你有同样的问题:

在可排序网格上使用 connectWith 时 JQuery 可排序中断

nick_w建议您jquery.ui.sortable.js在第 734 行替换一些代码

// move the item into the container if it's not there already
if(this.containers.length === 1) {
    this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
    this.containers[innermostIndex].containerCache.over = 1;
} else { ...

// move the item into the container if it's not there already
if(this.containers.length === 1) {
    this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
    this.containers[innermostIndex].containerCache.over = 1;
} else if(this.currentContainer != this.containers[innermostIndex]) { ...

编辑:我已将您的 jsfiddle 更改为与旧版本的 jQuery UI 一起使用,并且运行良好。这应该可以解决您的问题。

http://jsfiddle.net/fjjqM/6/

于 2013-03-04T10:02:41.660 回答