2013-05-08 43 views
1

這工作得很好:jQuery的數據表無法讀取屬性「長度」與選項bProcessing =真

<table id="dataTable"> 
    <thead> 
    <tr> 
     <th> 
      Title 
     </th> 
     <th> 
      Creator 
     </th> 
     <th> 
      Subjects 
     </th> 
     <th></th> 
    </tr> 
     </thead> 

</table> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#dataTable').dataTable({ 
      "sDom": 'ft<"bottom clear"ip><"clear">',  
      "bServerSide": true, 
      "iDisplayLength": 10, 
      //"bProcessing":true, 
      "sAjaxSource": '@Url.Action("GetMessages","Performance")', 
      "aoColumns": [ 
         { "sName": "Title" }, 
         { "sName": "Creator" }, 
         { "sName": "Subject" }] 
     }); 
    }); 
</script> 

如果我取消註釋行「bprocessing:真正的」一得到這個例外 遺漏的類型錯誤:無法讀取屬性「長「未定義jquery.dataTables.min.js的:65

其中的例外是拋出代碼沒有按說太多,我

function E(a, b) { 
       if (a.oFeatures.bProcessing) 
        for (var c = **a.aanFeatures.r**, d = 0, i = c.length; d < i; d++) 
         c[d].style.visibility = b ? "visible" : "hidden"; 
       h(a.oInstance).trigger("processing", [a, b]) 
      } 

a.aanFeatures的存在,但是a.aanFeatures.r是未定義的。性能控制器中的操作甚至不會被調用。

有人嗎?

+0

在開發者控制檯,看看'a.aanFeatures.r'存在 – karthikr 2013-05-08 19:30:30

+0

都能跟得上:( http://snag.gy/mXXEc.jpg – 2013-05-08 19:32:33

回答

1

幾件事情中脫穎而出:

有表中沒有<tbody></tbody> - 在</thead>後添加。

<thead>部分,您有四個<th>單元;在aColumns部分,只有三個。 Ajax調用返回多少個列?返回的列數應該一致。

+0

感謝您的評論。我刪除了空個元素,並添加TBODY 。他們都沒有工作:( btw:ajax調用會rutern 3個cols,但作爲一個說,它甚至不會被調用。 – 2013-05-08 21:27:51

+3

我有一個jsfiddle它。當我註釋掉sDom標籤,或者用這個「 sDom「:'<」filter_buttons「> frtip',它似乎工作,你可以試試嗎? – 2013-05-08 21:36:14

+2

當然,它也解決了我的問題。其實。後者'在'sdom options =(http://datatables.net /用法/選項)代表'處理',我跳過這從我的第一個列表:) – 2013-05-08 21:48:40

相關問題