2016-11-21 44 views
3

錶行顯示/隱藏我有有一些行用相同的值在像行的表 -JQuery的:基於

<table> 
    <thead> 
     <tr> 
      <th>Players</th> 
      <th>Country</th> 
      <th>ZIP Code</th> 
     </tr> 
    </thead>> 
    <tbody> 
     <tr> 
      <td>Jhon Doe</td> 
      <td>USA</td> 
      <td>53255343</td> 
     </tr> 
     <tr> 
      <td>Jhon Doe</td> 
      <td>USA</td> 
      <td>53255343</td> 
     </tr> 
     <tr> 
      <td>Etinee Gomes</td> 
      <td>Ghana</td> 
      <td>566682</td> 
     </tr> 
    </tbody> 
</table> 

我需要證明其具有相同價值的那些行的第一行。在這種情況下,第一行和第二行具有相同的數據,只需要顯示第一行。如果表格數據(<td>)不相同,則保留原樣。是否有可能使用JQuery?

+0

呀這是可能的。你可能想循環遍歷每個,或許在jQuery中使用'.each()'語句,然後在其他所有行中搜索每個​​的值以查看它們是否匹配。嘗試自己編寫一些代碼,如果遇到問題,請回到這裏。 –

+0

這絕對是可能的jQuery!你只需要迭代你的每一行,建立一個索引 - 我建議把每個值一起散列到一個鍵 - 然後檢查這個鍵是否已經在你的索引中。如果是這樣,隱藏你的行。 –

+0

謝謝邁克爾。我已更新我的帖子。你可以請評論與jdfidde的例子.. –

回答

2

你可以通過你tbody的項目環和尋找這樣一個if/else條件:

var data = [] 
 
$('tbody tr').each(function() { 
 
    var trdat = $(this).text().trim(); 
 
    if ($.inArray(trdat, data) !== -1) { 
 
    $(this).hide() 
 
    } else { 
 
    data.push(trdat); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>Players</th> 
 
     <th>Country</th> 
 
     <th>ZIP Code</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>Jhon Doe</td> 
 
     <td>USA</td> 
 
     <td>53255343</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Jhon Doe</td> 
 
     <td>USA</td> 
 
     <td>53255343</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Etinee Gomes</td> 
 
     <td>Ghana</td> 
 
     <td>566682</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

你好DaniP thanx爲您的答案。如果我還想考慮一些更多的文字被認爲是隱藏像 - 這裏隱藏​​Jhon Doe並考慮​​Jhon Doe A也隱藏,所以如何呢? –

+0

@JargoViet我不明白你可以用jsfiddle或codepen的例子來澄清 – DaniP