2013-06-22 4 views
0

У меня есть два ListViews, один из доступных для пользователя элементов и еще один из тех, которые уже назначены этому пользователю. Я следил за несколькими статьями и дошел до точки, где я могу выбрать несколько записей в любом списке и перетащить их туда и обратно. Я также хочу сказать, что после выпуска отдельного элемента он автоматически отменит выбор. Однако, когда я застреваю, когда я перетаскиваю несколько элементов - перетаскиваемый элемент отменяет выбор, но ни один из братьев и сестер не сделает этого, и вместо этого они остаются выбранными.jQuery - Удаление всех элементов при удалении

$(function() { 
    $("#AvailableCommGroups li, #AssignedCommGroups li").click(function() { 
     $(this).toggleClass("selected"); 
    }); 
    $("#AvailableCommGroups, #AssignedCommGroups").sortable({ 
     connectWith: ".connectedSortable", 
     start: function (e, info) { 
      info.item.siblings(".selected").appendTo(info.item); 
     }, 
     stop: function (e, info) { 
      info.item.after(info.item.find("li")); 
     }, 
     receive: function (e, info) { 
      info.item.toggleClass("selected"); 
     } 
    }); 
}); 

Как я могу изменить выше, чтобы все элементы с «выбранным» класс будет отменить выбор после падения в новый список?

ответ

0

Это потому, что вы только переключаете класс элемента в функцию приема. Попробуйте удалить класс из его родственных элементов, а также

receive: function (e, info) { 
    info.item.toggleClass("selected"); 
    info.item.siblings(".selected").toggleClass("selected"); 
} 
+0

К сожалению, это ничего не делает. Я попробовал это как в представленном вами порядке, так и в обратном порядке, но в любом случае строка, которую перетаскивают, отменяет выбор, но те, которые идут с ней, не делают этого. – Galehn

+0

Возможно, вы можете настроить jsfiddle, чтобы я мог помочь вам :) –