Это на самом деле довольно просто.Сначала вы выбираете .ui-tabs-nav
и говорите, что их можно сортировать по оси x.Затем вы можете сериализовать порядок вкладок.Затем отправьте эти данные в ваше приложение с помощью вызова AJAX.
$('#TabContainer').tabs();
$('#TabContainer .ui-tabs-nav').sortable({
axis: 'x',
update: function(event, ui){
var data = $('#TabContainer .ui-tabs-nav').sortable('serialize');
$.ajax({
url: '/events/update-tab-order',
data: data,
type: 'POST',
mode: 'abort'
});
}
});
Единственная сложность заключается в том, что вы должны указать идентификатор для элементов списка в формате groupname_identifier
.Например:
<div id="TabContainer">
<ul>
<li id="MyTabs_123"><a href="#tab0">Tab 1</a></li>
<li id="MyTabs_124"><a href="#tab1">Tab 2</a></li>
...etc
</ul>
...tab content goes here
</div>
Тогда, когда ваше приложение получит данные POST, это будет массив, который выглядит следующим образом:
$_POST['MyTabs']
array(
0 => '123',
1 => '124'
)