2015-02-11 2 views
0

У меня есть datatable, в котором я храню некоторые данные. Теперь моя потребность в том, что я хочу подсчитывать строки на основе значений строк. Как достичь ? that.I я разместить мой DataTable кодКак подсчитать строки в DataTable на основе значений строк

$("div.loader").show(); 
$("#backgroundPopup").show(); 
$("#backgroundPopup").css("opacity", "0.7"); 
var url = "<%=byopenjobResourceURL%>"; 
var type = "onLoadForByOpenJob"; 
var createTable = '<table id="mainTable" class="display"><thead><tr><th>Create Date</th><th>Job Order</th><th>ID</th><th>Owner</th><th>Client</th><th>Value</th><th>Product</th></thead><tbody>'; 
var totalActivities = '0'; 

jQuery.getJSON(url+"&type="+type, function(data) { 

    for(var z=0; z<data.searchResultArray.length;z++){ 
     searchResultArray = data.searchResultArray[z].split("$$##$$##");  
     createTable = createTable + "<tr><td>"+searchResultArray[0]+"</td><td>"+searchResultArray[1]+"</td><td>"+searchResultArray[2]+"</td><td>"+searchResultArray[3]+"</td><td>"+searchResultArray[4]+"</td><td>"+searchResultArray[5]+"</td><td>"+searchResultArray[6]+"</td></tr>";   


    } 



$('#mainTable').dataTable({ 
     "scrollY":  300, 
     "scrollCollapse": true, 
     "jQueryUI":  true, 
     "aaSorting": [] 
    }); 

enter image description here

Как добиться того, что Допустим, я хочу, чтобы подсчитать колонку продукта по его content.ie я хочу, сколько Поиск - там контингент

+0

HTML для таблицы будет отличным дополнением для решения этого вопроса. – Spectator

+0

@Spectator обновлен – lucifer

+0

Я пытаюсь использовать эту таблицу var = $ ('# mainTable'). DataTable(); \t var rows = table.rows ('. Staffing'); \t alert (rows.length) – lucifer

ответ

0

Так вы можете суммировать строки в таблице

<table id="mainTable" class="display"> 
    <thead> 
    <tr> 
     <th>Create Date</th> 
     <th>Job Order</th> 
     <th>ID</th> 
     <th>Owner</th> 
     <th>Client</th> 
     <th>Value</th> 
     <th>Product</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
    </tr> 
    <tr> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
     <td>1</td> 
    </tr> 
    </tbody> 
</table> 
<script type="text/javascript"> 
    function sumTable() { 
    var rows = $('tbody tr'), 
     result = [], 
     sumLine = $('<tr>'); 
    rows.each(function(index, item){ 
     $(item).find('td').each(function(index, cell){ 
     if(!result[index]) { result[index] = 0; } 
     result[index] += cell.innerText *1; 
     }); 
    }); 
    $.each(result, function(index, item) { 
     var cell= $('<td>'); 
     cell.text(item); 
     sumLine.append(cell);  
    }); 
    $('tbody').append(sumLine); 
    } 
    sumTable(); 
</script> 

первый цикл через все линии в теле, а затем для каждого цикла линии через каждый td и суммировать содержимое в массив. Что добавляется в конце. Вы также можете просто получить сумму массива вместо добавления его в виде строки в конце таблицы.

Смежные вопросы