jQuery UI - при использовании виджета Sortable как получить свойства элемента, который окончательно смещает перетаскиваемый элемент? - PullRequest
0 голосов
/ 19 октября 2011

Я использую виджет jQuery UI Sortable для реализации функции перетаскивания в разных строках таблицы.Я хочу изменить атрибут id строки, перетаскиваемой (скажем, row4), на атрибут строки, которую он смещает вниз (скажем, row2).Я могу получить идентификатор перетаскиваемого объекта из вспомогательного объекта, который передается различным функциям обратного вызова, но как я могу получить идентификатор строки, которую он в итоге смещает?

Существуют определенные строки, между которыми некоторые строки нельзя перетаскивать и размещать, и проверка была реализована с использованием JavaScript, который использует идентификатор строк (и его различные td * s *) для его определения.Поэтому очень важно, чтобы идентификаторы строк (и, следовательно, его td * s *) отражали их новую позицию.

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Вы можете изменить порядок своих идентификаторов после сортировки следующим образом:

$('table tr').each(function(i){
  $(this).attr('id', 'row_'+i);
});

И вы можете реализовать строки, которые нельзя перетаскивать (или между которыми), с помощью jquery ui sorttable.

1 голос
/ 19 октября 2011

Вот несколько возможных подходов:

  1. Если идентификаторы являются последовательными, вы можете просто перебрать строки для создания новых идентификаторов при обратном вызове.

  2. Смещенная строка будет либо ниже, либо выше, когда будет выполнено удаление. Поэтому вы должны быть в состоянии использовать JQuery next () или perv (), чтобы получить старый идентификатор для вашей текущей позиции «drop». Что касается того, как вы узнаете, двигаетесь ли вы вверх или вниз, вы можете посмотреть здесь .

  3. Взгляните на это , это кажется полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...