jQuery UI multi DnD дублирование проблемы - PullRequest
0 голосов
/ 01 февраля 2012

Я работал над решением для перетаскивания, в котором пользователь мог бы выбирать несколько элементов из списка элементов слева и перетаскивать их одновременно в область .sortable () справа на основе это пример.

Проблема заключается в том, что после того, как пользователь должен был выбрать и перетащить более одного элемента, затем выполнить перетаскивание только одного элемента, чтобы дублировать один элемент.

Вот разбивка:

  • Пользователь щелкает несколько элементов, переключая «выбранный» класс
  • Пользователь перетаскивает один из выбранных элементов, все остальные выбранные элементы следуют за ним - пользователь помещает их в контейнер.1013 * Пользователь затем перетаскивает один элемент, без переключения «выбранный», в контейнер справа, при падении элемент дублируется.

Я думал об изменении логики:

var selected = $('#ul-left .selected');
  if (selected.length === 0) {
    selected = $(this);
  }
var container = $('<div></div>').attr('id', 'draggingContainer');
container.append(selected.clone());
return container;

Сказать что-то вроде (псевдокод):

if( selected >= 1){
  proceed as written above
} else {
  set the helper property to clone ( as if I would've done helper: 'clone',)
}

Я не уверен, есть ли способ сделать это вручную, и, кроме того, я не уверен, что даже ищув правильном направлении - так к ТАК я иду:)

Вот моя скрипка ,

Спасибо всем за то, что взглянули на это.Кен

1 Ответ

0 голосов
/ 14 марта 2012

Если вы измените свою остановку, чтобы добавить обновление, это должно решить эту проблему:

 stop:function (e, ui) {
          $('#wrapper ul li').removeClass('selected').css({'background-color':'#FFD'});
          $('#ul-right').append(ui.helper.children());
          $('#ul-right').sortable('refresh');// add this line
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...