我正在使用菜單(fg.menu)和jQuery UI選項卡的Web應用程序。這些工作很好。我現在試圖將dataTables插件應用於我在我的選項卡中加載的表格(通過Ajax)。這些表格是在服務器端生成的(JSON現在不是一個選項),並且位於我加載到標籤中的靜態文件中。這些表格具有到其他表格的向下鑽取鏈接。這些獲得通過這個事件在我的標籤選項處理加載到當前標籤:奇怪的jQuery數據表呈現問題
load: function(event, ui)
{
//alert ("load is called");
$('a', ui.panel).live('click', function()
{
// now load the href into the tab
$(ui.panel).load(this.href);
// alert ("live click is called");
// Set up the dataTable
oTable = $('.my_table').dataTable(
{
"sScrollX": "100%",
"bPaginate": false,
"bJQueryUI": true,
"bInfo": false,
"bDestroy": true,
"bRetrieve": true,
"sDom": '<"H"r>t'
});
return false;
});
} // end of load:
我也初始化通過菜單鏈接加載器(具有不同的事件)的數據表,工作正常,如是否有任何初始選項卡中選擇渲染。
當我單擊表中的鏈接時,子表將顯示在選項卡中,但dataTable不生效。我注意到,當我點擊一個新的選項卡時,表格會在加載新選項卡之前短暫閃爍dataTable渲染。因此,我添加了警報(在上面的代碼中註釋掉),以查看事件是如何觸發和注視的,dataTable開始正確渲染。當我刪除警報時,它會回到普通表格。
我試着移動dataTable init到處都能想到,明確地在各個地方調用fnDraw(),並且隨處複製dataTable init,但似乎沒有任何東西使得它只顯示警報。
我在Firefox 3.6.12中使用dataTables 1.7.3,jQuery 1.4.2和jQuery UI 1.8.5。
我猜這是某種事件問題,但我不知道任何警報會強制dataTables呈現發生。有任何想法嗎?我錯過了一些愚蠢明顯的東西嗎? :-)