2014-03-31 38 views
0

我使用tablesorterPager在我的表中返回值10乘10。 這個ajaxProcessing代碼處理由json返回的值。總數值上的Tablesorter過濾器

當我使用過濾器(過濾器選擇或搜索)時,它只適用於我的控制器返回的10個值,我想將其應用於總行。

ajaxProcessing: function(data){ 
    if (data && data.hasOwnProperty('rows')) { 
     var r, row, c, d = data.rows, 
     total = data.total_rows, 
     headers = data.headers, 
     rows = [], 
     len = total; 
     for (r=0; r < len; r++) { 
     row = []; 
     for (c in d[r]) { 
      if (typeof(c) === "string") { 
       row.push(d[r][c]); 
      } 
     } 
     rows.push(row); 
     } 
     return [ total, rows, headers ]; 
    } 
}, 

你有什麼想法嗎?

謝謝你的時間。

+0

'ajaxProcessing'函數只能應用於由ajax返回的行...我不確定您的意思是「我想將其應用於總行數」。 – Mottie

+0

例如,總數可以是1000,顯示的行數是10.我只是希望篩選器選擇應用於總數而不是第一個十行。我認爲這是不可能的。 – user3480990

回答

0

聽起來像你可能需要使用ajaxUrlcustomAjaxUrl選項。使用ajaxUrl選項,您可以設置過濾器激活時過濾器url參數的格式。使用customAjaxUrl,您可以根據程序的工作方式將ajaxURl中設置的篩選器url參數轉換爲您需要的任何項,以正確篩選1000條記錄。

例如,假設你有ajaxUrl設置如下: ajaxUrl: dataquery.php?{filter:filter}

比方說你輸入「約翰」到表中的第一列過濾器。這將導致customAjaxUrl運行,而url變量將爲dataquery.php?filter[0]=John。假設要查詢正確篩選1000條記錄,您需要url查詢爲dataquery.php?name=John。要進行該轉換,請在customAjaxUrl選項中添加編碼,將filter[0]更改爲name,並返回轉換後的url dataquery.php?name=John。這將過濾1000條記錄並將過濾後的結果返回到您的表格。

你可能沒有使用PHP,但這個概念仍然適用。

相關問題