Как я могу изменить порядок списка, однажды примененного 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 }
]);
Как сказал Спарр, нет способа сортировать их с помощью Сортировать
непосредственно, но вы все равно можете переместить их вручную с чем-то вроде:
$("#mylist li:eq(1)").insertAfter($("#mylist li:eq(2)"));
Сортируемый предоставляет пользовательский интерфейс для переставления элементов. Чтобы переставить их программно, вам все еще нужно манипулировать элементами самостоятельно, вручную или с другим плагином.
Как упоминалось о других, это не имеет ничего общего с помощью винтажной функциональности (). Вместо этого вам нужно получить элементы в списке, сдвигайте свои позиции, а затем очистите и повторно вставьте элементы списка в их новом порядке:
// 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);