2013-07-15 49 views
1

好吧,這讓我瘋狂。jQuery Tablesorter動態加載CSV

我有一個csv文件,我動態地加載到一個帶有CSVToTable的html表格,然後用Tablesorter對它進行排序。

我遇到的問題是,當我嘗試應用像「過濾器」這樣的Tablesorter小部件時,他們將不適用。

但是,當我複製動態加載的html表,並將它們複製並粘貼到我的源代碼中時,它們運行時沒有問題。

有人可以向我解釋爲什麼會發生這種情況,以及我如何動態加載我的CSV文件並應用Tablesorter小部件?

你可以在這裏查看我的代碼:http://cdemeke.com/Chris_Test/Test14/test4.html

非常感謝你提前!

回答

1

當CSVToTable腳本被初始化時,它觸發一個loadComplete事件,然後它有代碼來初始化tablesorter。這裏是需要修改代碼:

$('#CSVTable2') 
    .CSVToTable('test2.csv', { 
     loadingImage: 'images/loading.gif', 
     startLine: 1, 
     headers: ['Project Number', ...] 
    }) 
    .bind("loadComplete",function() { 
     $('#CSVTable2').find('table') 
      .tablesorter({ 
       widthFixed: true, 
       widgets: ['zebra', 'filter'] 
      }) 
      .tablesorterPager({ 
       container: $("#pager") 
      }); 
    }); 

此外,在您的jquery.tablesorter.js文件的頂部,是這樣的代碼:

$(function() { 
    $("table") 
     .tablesorter({widthFixed: true, widgets: ['zebra']}) 
     .tablesorterPager({container: $("#pager")}); 
}); 

我想從這裏取出那將是因爲爲了一個好主意的初始化可能是一些瀏覽器中的問題。它不應該找到一個表,因爲它還沒有被建立,但是如果它確實存在,它將強制它發現使用尋呼機的所有表。如果表已經被初始化,tablesorter的額外參數將被忽略。

+0

Mottie你真棒!!!!!!!!!謝謝soooo多! – cDemeke