数据表基于列值计算行数并将其附加到列标题

时间:2015-04-23 16:41:52

标签: php jquery codeigniter datatables

因为标题说我试图计算特定字符出现在特定列上的次数,例如,如果m出现30次,我想返回30并将其附加到该列标题。 这是我的一部分

   function loadData()
    {
    var counter = 0;
    dataTable = $('#example').dataTable( {
     ...
     ...
    "sAjaxSource": "ReturnData",
    "columnDefs": [
                    {          
                        "render": function ( data, type, row ) {
                          if( data == 'm') {
                            counter++;
                          }
                         return data; 
                        // not sure how to return counter to the column header
                        },
                        "targets": [1]
                  }, 
           ]
        } );
       console.log(counter);
      }

例如我的表格看起来像

 id  char(3)
---   ----
 1     m
 2     l
 3     y
 4     m
 5     m

更新:如果我控制台日志我得到0

1 个答案:

答案 0 :(得分:0)

您应该将counter附加到initComplete处理程序中的列标题中。这是一个例子,计算" Firefox"的所有实例。并将数字添加到列标题中:

table = $('#example').DataTable({
    columnDefs: [{          
        render: function ( data, type, row ) {
                    if (data.indexOf('Firefox')>-1) counter++;
                    return data;
                },
                targets: 1        
    }],
    initComplete : function() {
        counter =' (Firefox : '+counter+')';
        var $th = $("#example thead th:nth-child(2)");
        $th.text($th.text()+counter);
    }     
});

演示 - >的 http://jsfiddle.net/ae7t7w4k/