【问题标题】:jQuery multiple Sortable lists on one page一页上的jQuery多个可排序列表
【发布时间】:2013-06-15 18:55:30
【问题描述】:

我的页面可以在一个页面上包含多个不同的媒体库。每个图库拇指在编辑模式下都是“可排序的”。这是第一个找到的作品,但每个额外的画廊都不会排序。我相信这是因为每个可排序列表都设置为具有类.dynamic_med_gallery 的容器,因此每个附加的可排序对象都试图使用具有类.dynamic_med_gallery 的第一个div 容器。如何将每个容器设置为 $(this) 以保持每个容器独立且唯一?

function sort_thumbs() {
   if (edit_mode == 'on') {
      var cont = $( ".dynamic_med_gallery" );
      cont.sortable({
         tolerance: 'pointer', 
         containment: cont, 
         items:'.dynamic_thumb',
         stop : function() {
            cont.addClass('update_index')
         }
      }).disableSelection();
   }
};

【问题讨论】:

    标签: jquery jquery-ui-sortable


    【解决方案1】:

    这应该可以为您解决问题。 http://jsfiddle.net/qBzRC/27/

    edit_mode = 'on';
    if (edit_mode == 'on') {
        $(".dynamic_med_gallery").each(function () {
            $(this).sortable({
                tolerance: 'pointer',
                containment: $(this),
                items: '.dynamic_thumb',
                stop: function () {
                    $(this).addClass('update_index'); // Not sure what this is for... might need changing depending on your needs.
                }
            }).disableSelection();
        });
    }
    

    【讨论】:

    • 非常感谢,罗伯特,我很感激。 “$(this).addClass('update_index');”这样我就可以查看保存时更新了哪些画廊。
    • $(this).addClass('update_index');这将用于更新数据库级别的行索引,因此下次从数据库加载项目。使用类名和每个循环找到这将很好,并根据 item_index 显示项目。
    【解决方案2】:

    我想了很多,结果如下:

    function sort_thumbs() {
        if (edit_mode == 'on') {
            $( ".dynamic_med_gallery" ).each(function() {
                cont = $(this);
                var this_id = cont.attr('id');
    
                cont.sortable({
                    tolerance: 'pointer', 
                    containment: cont, 
                    items:'.dynamic_thumb',
                    stop : function() {
                          $('#'+this_id).addClass('update_index');
                    }
                }).disableSelection();
            });
        }
    };
    

    【讨论】:

    • 您的修订应该可以工作,但效率会更高。我在下面添加了另一个答案。
    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2017-06-14
    • 2018-03-17
    相关资源
    最近更新 更多