Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jquery可排序:如何同步2个可排序列表?_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

Jquery ui jquery可排序:如何同步2个可排序列表?

Jquery ui jquery可排序:如何同步2个可排序列表?,jquery-ui,jquery-ui-sortable,Jquery Ui,Jquery Ui Sortable,我有两个单独工作的可排序列表。我想同步两个列表——当一个列表项被移动时,相关项在另一个列表中的位置也会移动。 你能推荐一个函数或方法让我学习吗?这是一个非常糟糕的黑客,但它可能会给你一些开始的想法: $(function () { $('#sortable').sortable({ update: function (event, ui) { var x1 = $('#X1').position().top +140,

我有两个单独工作的可排序列表。我想同步两个列表——当一个列表项被移动时,相关项在另一个列表中的位置也会移动。
你能推荐一个函数或方法让我学习吗?

这是一个非常糟糕的黑客,但它可能会给你一些开始的想法:

 $(function () {
     $('#sortable').sortable({
         update: function (event, ui) {
             var x1 = $('#X1').position().top +140,
                 x2 = $('#X2').position().top +140,
                 x3 = $('#X3').position().top +140;
             $('#sortable2 li').css({
                 position:'absolute',
                 width:  $('#sortable li').width()
             });
             $('#Y1').animate({
                 'top': x1
             });
             $('#Y2').animate({
                 'top': x2
             });
             $('#Y3').animate({
                 'top': x3
             });
         }
     });

     $("#sortable").disableSelection();
 });
 $(function () {
     $("#sortable").sortable({
         update: function (event, ui) {
             $('#sortable2').html($('#sortable').html());
         }
     });
     $("#sortable").disableSelection();
 });
我说这是一个非常糟糕的黑客,因为它显然不能很好地扩展

您可能需要使用一个,可能是某种类型的

另一种选择是只复制html:

 $(function () {
     $('#sortable').sortable({
         update: function (event, ui) {
             var x1 = $('#X1').position().top +140,
                 x2 = $('#X2').position().top +140,
                 x3 = $('#X3').position().top +140;
             $('#sortable2 li').css({
                 position:'absolute',
                 width:  $('#sortable li').width()
             });
             $('#Y1').animate({
                 'top': x1
             });
             $('#Y2').animate({
                 'top': x2
             });
             $('#Y3').animate({
                 'top': x3
             });
         }
     });

     $("#sortable").disableSelection();
 });
 $(function () {
     $("#sortable").sortable({
         update: function (event, ui) {
             $('#sortable2').html($('#sortable').html());
         }
     });
     $("#sortable").disableSelection();
 });

这将扩展得更好,但没有那么漂亮。

谢谢!我更喜欢不那么粗俗的:-)我想我会选择第二种。问题是,我的两个排序表的内容略有不同,因此,我将使用其他内容来代替html()。我知道这已经很旧了,我只是想知道,如果不使用html(),您是如何让它工作的,因为我也需要这样做。我的两个列表的html完全不同,我需要使用类似的ID将它们连接起来,ie list1_0和list2_0将被连接起来。@Doug可以自由提问并将链接发送给我。我必须看看你到目前为止有什么以及你的使用环境。