アイテムAのリストがあり、各アイテムAにはいくつかのアイテムBがあります。AのアイテムBのビューは、jQueryUIタブを使用したタブのようなものです。コントローラーを使用してページ内のアイテムAのリストをロードしており、それぞれのアイテムAの各アイテムBはAJAXによってロードされます(データベース内の別のテーブルにあり、アイテムAの各IDを渡す必要があるため)。AJAXを使用してhtmlコンテンツをロードすると、明らかにUIタブを適用できないため、$(document).readyに修正するためのsetTimoutを配置します。問題は、リストにアイテムAがたくさんある場合、setTimeoutにもっと時間が必要なことです。これは、AJAX呼び出しの後に入れてみます(以前はfancyboxプラグインで解決しました)。すべてのタブが表示されますが、それらは機能しません。
注:タブのグループが複数あります。
タブのようにアイテムBのリストを表示するために各アイテムAで呼び出す関数。
<script type="text/javascript">
function cargar(id) {
jQuery.ajax({
url: "index.php?controller=trabajo",
data: "id="+id,
dataType: "HTML",
type: "POST",
success: function(datos) {
$('#orden-'+id).html(datos);
}
});
}
</script>
準備完了機能:
<script type="text/javascript">
$(document).ready(function() {
setTimeout(
function() {
var $tabs= $('.tabs')
.tabs({
collapsible: true,
selected: -1
})
.scrollabletab({
'closable':true,
});
$('#addTab').click(function(){
});
$('.ui-tabs-close').click(function(){
});
},
500 //This time must be more big if there is more content.
);
});
</script>
どうもありがとう!