2013-06-15 2 views
0

У меня есть страница, которая может содержать несколько разных медиа-галерей на одной странице. Каждый палец галереи «сортируется» в режиме редактирования. Это работает для первого, но каждая дополнительная галерея не будет сортироваться. Я считаю, что это связано с тем, что каждый сортируемый список установлен в контейнер с классом .dynamic_med_gallery, поэтому каждая дополнительная сортировка пытается использовать этот первый контейнер div с классом .dynamic_med_gallery. Как я могу установить каждый контейнер в $(this), чтобы сохранить каждый отдельный и уникальный?jQuery несколько Сортируемые списки на одной странице

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

ответ

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(); 
    }); 
} 
+0

Большое спасибо, Роберт, я ценю это. «$ (This) .addClass (« update_index »); поэтому я могу проверить, какие галереи были обновлены при сохранении. – Chris

1

Я положил некоторые больше мысли в ней и работал его следующим образом:

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(); 
     }); 
    } 
}; 
+0

Ваш пересмотр должен работать, но может быть более эффективным. Я добавил еще один ответ ниже. –

Смежные вопросы