以前、jquery-ui tabs
拡張機能を使用して を介してページ フラグメントをロードしたり、ページ内の非表示のajax
を隠したり表示したりしdiv
ました。これらの方法はどちらも十分に文書化されており、問題はありませんでした。
しかし今、私はタブで何か違うことをしたいと思っています。ユーザーがタブを選択すると、ページ全体がリロードされる必要があります。これは、タブ化された各セクションのコンテンツをレンダリングするのに多少コストがかかるためです。そのため、一度にすべてを送信して通常の方法を使用したくありませんそれらを表示するために「display:none」を切り替えます。
私の計画は、タブのイベントをインターセプトし、select
document.location を操作してその機能でページをリロードすることです。
select
ハンドラーで、新しく選択されたタブ インデックスとそれに対応する html LI オブジェクトを取得するにはどうすればよいですか?
$('#edit_tabs').tabs( {
selected: 2, // which tab to start on when page loads
select: function(e, ui) {
var t = $(e.target);
// alert("data is " + t.data('load.tabs')); // undef
// alert("data is " + ui.data('load.tabs')); // undef
// This gives a numeric index...
alert( "selected is " + t.data('selected.tabs') )
// ... but it's the index of the PREVIOUSLY selected tab, not the
// one the user is now choosing.
return true;
// eventual goal is:
// ... document.location= extract-url-from(something); return false;
}
});
新しく選択されたタブまたはその中のアンカータグのインデックス、ID、またはオブジェクトを与えることができるイベントまたは ui オブジェクトの属性はありますか?
または、タブを使用してページ全体をリロードするより良い方法はありますか?