実際はかなりシンプルです。まず、.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
の形式でリスト項目のIDを指定しなければならないということです。たとえば:
$_POST['MyTabs']
array(
0 => '123',
1 => '124'
)
:アプリケーションがPOSTデータを受信したとき
<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>
その後、それはこのようになります配列となります