Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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/opencv/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
Javascript 拖放时两个不同容器的Jquery UI可排序顺序_Javascript_Jquery_Jquery Ui_Drag And Drop - Fatal编程技术网

Javascript 拖放时两个不同容器的Jquery UI可排序顺序

Javascript 拖放时两个不同容器的Jquery UI可排序顺序,javascript,jquery,jquery-ui,drag-and-drop,Javascript,Jquery,Jquery Ui,Drag And Drop,我的视频编辑器有两个不同的容器。一个容器用于维护用户上传的视频缩略图。我在同一个容器中进行了拖放操作,并使用以下脚本更新了DB中的订单,以备将来使用 <script src="jquery/jquery-ui-1.8.custom.min.js"></script> <script type="text/javascript"> $(document).ready(function() {

我的视频编辑器有两个不同的容器。一个容器用于维护用户上传的视频缩略图。我在同一个容器中进行了拖放操作,并使用以下脚本更新了DB中的订单,以备将来使用

    <script src="jquery/jquery-ui-1.8.custom.min.js"></script>

     <script type="text/javascript">
                $(document).ready(function() {
                    j$132('#page .sortable-list').sortable({
                        update: function(event, ui) {
                            var order = [];
                            $('#image-list li').each(function(e) {
                                order.push($(this).attr('id') + '=' + ($(this).index() + 1));
                            });
                            var positions = order.join(';')
                        },
                        connectWith: '#page .sortable-list',
                        placeholder: 'placeholder',
                    });
                });
            </script>
<ul id="image-list" class="sortable-list">

                        </ul>

$(文档).ready(函数(){
j$132(“#page.sortable list”)。可排序({
更新:功能(事件、用户界面){
var顺序=[];
$(“#图像列表li”)。每个(函数(e){
order.push($(this.attr('id')+'='+($(this.index()+1));
});
变量位置=order.join(“;”)
},
连接方式:“#第页.可排序列表”,
占位符:“占位符”,
});
});
但现在我的问题是,我必须维护两个不同的拖放容器,其中包含单独的订单,而且这些容器之间应该有互连。我已经完成了拖放操作,但无法单独获取订单ID。这些都存在冲突

您不需要手动遍历可排序元素,jquery UI的
.sortable()
有一个方法,默认情况下会返回它们的ID数组

如果您使用此方法,将更容易区分列表,因为您可以单独侦听它们的更改。如果只有一个列表发生更改,则
更新
处理程序将触发一次,如果将一个元素从一个列表拖到另一个列表,它将为两个列表触发

$('.sortable-list').sortable({
  connectWith: '.sortable-list',
  update: function(event, ui) {
    var changedList = this.id;
    var order = $(this).sortable('toArray');
  }
});
无论哪种方式,您都需要为列表提供一些识别属性来区分它们,例如ID。然后您可以使用此ID和新的列表元素位置信息来更新数据库