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>
var x_sortable_list = $("mylist").sortable();

Затем предполагая, что это работает:

x_sortable_list.changeOrder([
 {item:1, newOrder:2 },
 {item:2, newOrder:1 },
 {item:3, newOrder:3 }
]);
10
задан double-beep 1 February 2019 в 15:20
поделиться

3 ответа

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

$("#mylist li:eq(1)").insertAfter($("#mylist li:eq(2)"));
11
ответ дан 3 December 2019 в 15:35
поделиться

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

1
ответ дан 3 December 2019 в 15:35
поделиться

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

// 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);
16
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: