2016-08-19 30 views
0

我有一個簡單的表與所述第一列是「公司」和5分進一步列於「天」是一個二進制「1」或「0」數據表警報行/秒的大部分

使用數據表我想獲得本公司/具備爲5天最「1」公司名稱(第1列):

<table id="table" class="responstable" border="0" cellspacing="0" cellpadding="0"> 
<thead> 
<tr> 
    <th scope="col">Company</th> 
    <th scope="col">Day 1</th> 
    <th scope="col">Day 2</th> 
    <th scope="col">Day 3</th> 
    <th scope="col">Day 4</th> 
    <th scope="col">Day 5</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
    <td>Company1</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">1</td> 
    <td align="center">0</td> 
    <td align="center">1</td> 
</tr> 
<tr> 
    <td>Company2</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">1</td> 
</tr> 
<tr> 
    <td>Company3</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">1</td> 
</tr> 
<tr> 
    <td>Company4</td> 
    <td align="center">1</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">1</td> 
</tr> 
<tr> 
    <td>Company5</td> 
    <td align="center">1</td> 
    <td align="center">1</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
    <td align="center">0</td> 
</tr> 
</tbody> 
</table> 
<br/> 
<input id="btnSubmit" type='button' value='Alert Rows'> 

我包括我的javascript這在目前只是計數的總排所以不是很多幫助。

<script type="text/javascript"> 
$(document).ready(function() { 

    $("#btnSubmit").click(function(){ 

     var table = $('#table').DataTable(); 

     var rowCount = table.rows()[0].length; 

     for (var row=0;row<rowCount;row++) { 

      //Not sure what to do here 

     } 
     alert(rowCount); //I need this to be company/companies name from 1st column. 
     }); 
}); 
</script> 
+0

看https://datatables.net/reference/ API /行()。數據()。您訪問單個行數據以檢查1和0 –

回答

0

如果你想算1在你的行數,你可以使用rows().every()迭代值。

要知道,你可以添加值1秒的每一行的數量,試試這個代碼:

$(document).ready(function() { 

    var table= $('#table').DataTable(); 

    $('#btnSubmit').click(function() { 

     table.rows().every(function(){ 
     //Sum the values 
     var count = parseInt(this.data()[1]) + parseInt(this.data()[2]) + parseInt(this.data()[3]) + parseInt(this.data()[4]) + parseInt(this.data()[5]); 
     //Get Company 
     var company = this.data()[0]; 

     alert("The Company: " + company + " have " + count.toString() + " 1s"); 
     }); 

    }); 
}); 

結果:https://jsfiddle.net/cmedina/7kfmyw6x/88/

+0

這對於具有數百行的表格如何工作?我們可以在循環外部移動警報,並只警告具有最高計數的行嗎? – RustyBadRobot

+0

它是可能的,這正是最高值,你的意思是最大值? – CMedina

+0

可以說一家公司有兩個'1'另一個有三個'1',另外兩個有四個'1'我只想找到'1'最多的公司,所以我想知道這兩家公司那只有四個'1'。 – RustyBadRobot