首页 > 解决方案 > jQuery.Deferred 异常:无法设置未定义的属性“_DT_CellIndex”类型错误:无法设置未定义的属性“_DT_CellIndex”

问题描述

我在数据表中遇到了这个错误。我已正确包含所有头文件,但不知道为什么会发生此错误。

jQuery.Deferred 异常:无法设置未定义的属性“_DT_CellIndex”类型错误:无法设置未定义的属性“_DT_CellIndex”

我尝试了一些解决方案,例如没有空行、相同数量的标题和列等,但这里没有任何效果。请帮忙。

<div class="row">
   <div class="col-md-12">
      <table class="table table-striped table-hover datatable">
         <thead>
            <tr>
               <th>Target</th>
               <th>Goal</th>
               <th>Target Status</th> 
               <th>Date</th>
            </tr>
         </thead>
         <tbody>
            <tr>
               <td>Demo Target</td>
               <td>Some Goal</td>
               <td>Some Status</td>
               <td>Some Date</td>
            </tr>
         </tbody>
      </table>
   </div>
</div>

这是我的js代码-

   $(document).ready(function(){
   $.extend( $.fn.dataTable.defaults, {
       autoWidth: false,
       dom: '<"datatable-header"fBl><"datatable-scroll-wrap"t><"datatable-footer"ip>',
       language: {
           search: '<span>Filter:</span> _INPUT_', 
           searchPlaceholder: 'Search...',
           lengthMenu: '<span>Show:</span> _MENU_',
           paginate: { 'first': 'First', 'last': 'Last', 'next': $('html').attr('dir') == 'rtl' ? '&larr;' : '&rarr;', 'previous': $('html').attr('dir') == 'rtl' ? '&rarr;' : '&larr;' }
       }
   });

   var table = $('.datatable').DataTable({
       buttons: {            
           buttons: [
               {
                   extend: 'copyHtml5',
                   className: 'btn btn-light',
                   exportOptions: {
                       columns: [ 0, ":visible" ]
                   }
               },
               {
                   extend: 'excelHtml5',
                   className: 'btn btn-light',
                   exportOptions: {
                       columns: [ 0, ":visible" ]
                   }
               },
               {
                   extend: 'pdfHtml5',
                   className: 'btn btn-light',
                   exportOptions: {
                       columns: [ 0, ":visible" ]
                   }
               },
               {
                   extend: 'colvis',
                   text: '<i class="icon-three-bars"></i>',
                   className: 'btn bg-blue btn-icon dropdown-toggle'
               }
           ]
       },
       "aaSorting": []
   });

标签: htmldatatable

解决方案


我认为您的代码没有问题,它对我来说效果很好。我会检查你的 html 是否有重复项,即.datatable在另一个地方使用类,并使用一个 id 来启动它。


推荐阅读