jQuery.sortable. изменить порядок с помощью JavaScript

Как я могу изменить порядок списка после применения JavaScript jQuery.sortable.

Например:

<ul id="mylist">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
</ul>

Ответ 1

Как сказал Спарр, нет способа отсортировать их с помощью sortable напрямую, но вы можете перемещать их вручную с помощью чего-то вроде:

$("#mylist li:eq(1)").insertAfter($("#mylist li:eq(2)"));

Ответ 2

Как уже упоминалось, это не имеет ничего общего с функцией sortable(). Вместо этого вам нужно получить элементы в списке, сдвинуть их позиции, а затем очистить и снова вставить элементы списка в новом порядке:

// Get your list items
var items = $('#mylist').find('li');

// The new index order for each item
var order = [4, 2, 0, 1, 3];

// Map the existing items to their new positions        
var orderedItems = $.map(order, function(value) {
    return items.get(value);
});

// Clear the old list items and insert the newly ordered ones
$('#mylist').empty().html(orderedItems);

Ответ 3

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