2014-11-05 50 views
2

我在DataTable中有JavaScript生成的表格,但分頁和過濾器不顯示(工作)。當我試圖使用bFilterbPaginate,它沒有幫助我。DataTable - 分頁和過濾器不適用於JavaScript生成的表格

jsfiddle

var keywords = [["dog", 2],["table", 3],["chair", 4],["dog", 2],["table", 3],["chair", 4], ["dog", 2],["table", 3],["chair", 4],["dog", 2],["table", 3],["chair", 4],["dog", 2],["table", 3],["chair", 4]]; 

    function buildKeywordTableString(keywords){ 

     var dataSet = new Array(); 

     for (var i = 0; i < keywords.length; i++){ 
      dataSet.push([keywords[i][0],keywords[i][1]]);  
      } 

      var table = $('<table cellpadding="0" cellspacing="0" border="0" class="display"></table>') 
      .dataTable({ 
       "data": dataSet, 
       "bFilter":true, 
       "paging": true, 
       "bPaginate":true, 
       "columns": [ 
        {"title": "Keyword"}, 
        {"title": "F"} 
       ] 
      })[0].outerHTML; 

      return table; 
     } 

    $("body").append(buildKeywordTableString(keywords)); 
    $("body").append(buildKeywordTableString(keywords)); 
+0

你可能會想嘗試,以測試數據表已經開發的解決方案http://egobits.com/envato /datamanager/example.php – andufo 2014-11-05 17:09:59

回答

1

嘗試插入表到DOM第一,然後對其進行初始化作爲一個數據表。您還需要確保你在表中的有效THEAD太:

http://jsfiddle.net/u7yhx9fL/10/

var keywords = [["dog", 2],["table", 3],["chair", 4],["dog", 2],["table", 3],["chair", 4], ["dog", 2],["table", 3],["chair", 4],["dog", 2],["table", 3],["chair", 4],["dog", 2],["table", 3],["chair", 4]]; 
var id=0; 

function buildKeywordTableString(keywords){ 

    var dataSet = new Array(); 

    for (var i = 0; i < keywords.length; i++){ 
     dataSet.push([keywords[i][0],keywords[i][1]]);  
    } 

    var table = '<table id="table' + id + '" cellpadding="0" cellspacing="0" border="0" class="display"><thead><tr><th>Keyword</th><th>F</th></tr></thead><tbody></tbody></table>'; 
    $('body').append(table); 
    $('#table' + id).dataTable({ 
     "data": dataSet, 
     "bFilter":true, 
     "paging": true, 
     "bPaginate":true 
    }); 

    id++ 
} 

buildKeywordTableString(keywords); 
buildKeywordTableString(keywords);