2014-10-10 50 views
0

删除HTML内容我unsing数据表1.10,在我的代码列按要求我加入了一个HTML checkbox标签之一。对排序的列在数据表1.10

现在第一次当表格呈现时,它向我展示了这些复选框,但是当我点击该列进行排序或任何其他列进行排序时,那么包含HTML包含的列将被清除。 (我这个交叉检查与铬DOM检查... TD元素不包含任何内容:()

下面是我的dataTable的初始化代码。

dataTableOptions: function() { 
      return { 
       "orderable": true, 
       "columnDefs": undefined, 
       "autoWidth": true, 
       "deferRender": true, 
       "data": undefined 
      }; 
     }, 
     dtRowGroupingOptions: function() { 
      return { 
       bExpandableGrouping: true, 
       bExpandSingleGroup: false, 
       iExpandGroupOffset: -1, 
       asExpandedGroups: [""] 
      }; 
     } 

var dataTablesOptions = self.dataTableOptions(); 
        dataTablesOptions.data = tableData; 
        dataTablesOptions["paginate"] = false; 
        dataTablesOptions["lengthChange"] = false; 
        dataTablesOptions["columnDefs"] = [{"targets": 0, "data": "serverName", 'title' : 'ServerName'}, 
         {"targets": 1, "data": "COMMAND", 'title' : 'Command'}, 
         {"targets": 2, "data": "PID", 'title' : 'Process Id'}, 
         {"targets": 3, "data": "SIZE", 'title' : 'Size'}, 
         {"targets": 4, "data": "USER", 'title' : 'User'}, 
         {"targets": 5, "data": "action", 'title' : 'Actions', "type" : "html", "orderDataType": "dom-checkbox"} 
         ]; 

        dataTablesOptions["createdRow"] = function (nRow, aData, iDataIndex) { 
         var self = this; 
         if (aData["comments"] && aData["comments"].indexOf("Error") != -1) { 
          // Do not do anything 
          $('td:eq(0)', nRow).html(aData["serverName"]+"" + 
          "<a class='btn btn-danger' href='#' data-toggle='tooltip' title='Error in execution'><i class='icon-question'></i></a>"); 
         } 
         return self; 
        }; 

var dcInfoDataTable = contentDiv.find('table.dcInfoTable').DataTable(dataTablesOptions); 

我也使用数据表rowGrouping和searchhiglight插件,下面是代码

// call row grouping 
        contentDiv.find('table.dcInfoTable').dataTable().rowGrouping(self.dtRowGroupingOptions()); 
        // enable search highlighing 
        contentDiv.find('table.dcInfoTable').dataTable().fnSearchHighlighting(); 

注:我试着删除rowGrouping插件代码,以确保公正,这是不是因为这个插件,但happeing甚至去除没有效果,HTML续后ents正在消失。

回答

0

不仅当你排序将它清除掉你的数据,它也清楚,如果你使用任何其他功能,改变你的表。这是因为每个数据表中得出的新数据时,它清除出你的静态数据。

您需要重新附加每个抽奖的复选框,您可以在fnDrawCallback事件做到这一点:

$(document).ready(function() { 
    $('#example').dataTable({ 
    "fnDrawCallback": function(oSettings) { 
     alert('DataTables has redrawn the table'); 
     //append the checkbox to your table columns here... 
    } 
    }); 
}); 
+0

不,这不是ATLEAST为我工作。 :( – 2014-10-10 16:18:30

+0

其实它有一点twick工作....当我使用rowGrouping插件我有添加值前检查电池的指标。 – 2014-10-10 19:27:50