簡體   English   中英

隱藏行取決於html表單元格的值

[英]Hide row depending on a html table cell value

我有一個表,顯示數據庫中的數據,我有一個帶有簡單算術函數的單元格。 我想隱藏整行的總和為零(如果$ sold值為零)。

 <input type="button" id="btnHide" Value=" Hide Empty Rows " /> ... <tbody> <?php } while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $sold=$row['value1']+$row['value2']); { ?> <tr> <td><?php echo $row['contract'] ?></td> <td><?php echo (round($row['value1'], 2)) ?></td> <td><?php echo (round($row['value2'],2 )) ?></td> <td><?php echo ((round($sold, 2))+0) ?></td> </tr><?php } } ?> </tbody> 

我找到了一些代碼來隱藏所有具有空單元格的行,但這不是我想要的。 謝謝。

 $(document).ready(function() { $("#gdRows td").each(function() { var cellText = $(this).text(); if ($.trim(cellText) == '') { $(this).css('background-color', 'cyan'); } }); $('#btnHide').click(function() { $("#gdRows tr td").each(function() { var cell = $.trim($(this).text()); if (cell.length == 0) { $(this).parent().hide(); } }); }); $('#btnReset').click(function() { $("#gdRows tr").each(function() { $(this).show(); }); }); }); 

為這些單元格添加一個類以進行簡化

<td class="sold"><?php echo ((round($sold, 2))+0) ?></td>

然后使用filter()

$("td.sold").filter(function() {         
     return +$(this).text().trim() === 0;         
}).parent().hide();

如果$sold為零,您還可以在php中通過向行添加一個hidden類來做同樣的事情,並為該hidden類添加一個css規則

的PHP

<tr class="<?= $sold == 0 ? 'hidden' :'';?>"> 

以下函數將循環遍歷表中的所有<tr>並在行中找到第4個單元格。 如果該單元格包含一個求值為零的值,則該行將隱藏。

 $("table tr").each(function() { var sold = $(this).find(":nth-child(4)"); if (parseFloat(sold.text()) === 0) $(this).hide(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <table> <tr> <td>Contract</td> <td>123</td> <td>456</td> <td>789</td> </tr> <tr> <td>Contract</td> <td>123</td> <td>456</td> <td>0</td> </tr> <tr> <td>Contract</td> <td>0.123</td> <td>0.456</td> <td>0.0</td> </tr> <tr> <td>Contract</td> <td>0.123</td> <td>0.456</td> <td>0.789</td> </tr> </table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM