2012-10-17 26 views
2

我有一個jQuery dataTable編碼像這樣:爲什麼這行代碼窒息了我的jQuery數據表?

$("#my-datatable").dataTable({ 
    "bProcessing" : true, 
    // Commenting out next line 
    //"sDom" : 't', 
    "sAjaxSource" : "some/url/on/my/server", 
    "sAjaxDataProp" : "", 
    "bDestroy" : true, 
    "fnServerData" : function(sSource, aoData, fnCallback) { 
     aoData.push({ 
      "name" : "asking", 
      "value" : "yes" 
     }); 

     request = $.ajax({ 
      "dataType" : "json", 
      "type" : "GET", 
      "url" : sSource, 
      "data" : aoData, 
      "success" : fnCallback 
     }); 
    }, 

    "aoColumns" : [ 
     { 
      "mDataProp" : "name" 
     }, 
     { 
      "mDataProp" : "expr" 
     }, 
     { 
      "mDataProp" : "seq" 
     } 
    ] 
}); 

注意,註釋掉行。當這段代碼按原樣運行時,表格呈現得非常漂亮。不幸的是,它會顯示很多東西,我不想顯示,如分頁信息,搜索欄等

閱讀文檔和下面的例子之後,我相信該行即註釋掉是我需要配置dataTable,以便只有表本身呈現/顯示。

但是,當我註釋掉,我在Firebug得到一個錯誤,沒有數據填充我的表:

TypeError: an is undefined 
[Break On This Error] 

for (var i=0, iLen=an.length ; i<iLen ; i++) 

它看起來太被抱怨jQuery.dataTables.js線2895.任何人都可以找出爲什麼發生這種情況?我的sDom屬性配置不正確?請記住,我只是想要表格及其標題來繪製(以及其中的所有數據)。提前致謝!

回答

1

我想你所追求的是這也許

http://datatables.net/examples/basic_init/filter_only.html

你可以離開sDom:T(默認)和手動關閉所有設備

  "bPaginate": false, 
     "bLengthChange": false, 
     "bFilter": true, 
     "bSort": false, 
     "bInfo": false, 
     "bAutoWidth": false 
+0

剛一說明,我最終需要離開'sDom'註釋掉了,不然我的dataTable仍然拋出了同樣的錯誤。感謝@ Ricky.G的幫助 – IAmYourFaja

3

當設置"bProcessing": true,你有以確保在sDom內定義了'r',否則將生成錯誤。

例子:

var oTable = $('#example').dataTable({ 
    "bProcessing": true, 
    "iDisplayLength": 10, 
    "bLengthChange": false, 
    "bFilter": false, 
    "aoColumnDefs": [{ "bSortable": false, "aTargets": [ 0, 4, 5 ] }], 
    "sDom": "t<'row-fluid'<'span4'i><'span8'pP>r>", 
    "sPaginationType": "bootstrap", 
    "oLanguage": { "sLengthMenu": "_MENU_ records per page" } 
}); 
相關問題