Я хочу сортировать свои вкладки, а также хочу сортировать поля внутри вкладок. Я хочу иметь возможность перетаскивать поля с одной вкладки на другую.
Когда пользователь нажимает кнопку "Сохранить", я хочу получить строку json. Что-то похожее на следующее:
Я сделал некоторые исследования, и кажется, что это возможно с помощью jQuery Sortable (Connect list with Tabs). Может ли кто-нибудь отправить достойный фрагмент html + javascript, пожалуйста? Спасибо.
Следующий код, который я написал, является катастрофой.
$(function () {
$("#tabs").tabs().find(".ui-tabs-nav").sortable({
axis: "x",
update: function(event, ui) {
debugger;
}
});
$(".fieldSortableList").sortable().disableSelection();
var $tabs = $("#tabs").tabs();
var $tab_items = $("ul:first li", $tabs).droppable({
accept: ".connectedSortable li", hoverClass: "ui-state-hover", drop: function (event, ui) {
var $item = $(this);
var $list = $($item.find("a").attr("href")).find(".connectedSortable");
ui.draggable.hide("slow", function () {
$(this).appendTo($list).show("slow");
});
}
});
});
Используйте свойство "ConnectWith" при определении сортируемого связывания. Это позволит вам сортировать/отбрасывать список форм a в список b.
Чтобы сохранить свои состояния, вы можете взять элементы списка, сохранить их как массив в localStorage, а затем сравнить их с сохраненными полями localstorage во время загрузки страницы. Когда вы загружаете страницу, вы сравниваете текущий порядок списка, с сохраненным заказом, а если разные, добавьте их в новый список. Когда вы закончите, новый список содержит все элементы, но в сохраненном порядке.
Я не видел API для сортировки через некоторое время, но это также поможет вам. http://johnny.github.io/jquery-sortable/