簡體   English   中英

如何通過第一行的值隱藏和顯示表tr

[英]How to hide and show table tr's by value of first row

我有個問題。 我有桌子一樣。

  <input type="checkbox" id="one" value="Jill" checked > Jill <input type="checkbox" id="two" value="Eve" checked> Eve <input type="checkbox" id="three" value="Mike" checked> Mike <table id="mytable"> <tr> <td>Jill</td> <td>Smith</td> <td>50</td> </tr> <tr> <td>Jill</td> <td>Smile</td> <td>61</td> </tr> <tr> <td>Mike</td> <td>Jenkins</td> <td>43</td> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> <tr> <td>Mike</td> <td>Piterson</td> <td>23</td> </tr> </table> 

我需要通過選中的值隱藏和顯示此表的trs,並在未選中字段時隱藏它們,但僅隱藏第一行與復選框的值相同的字段。 在加載時,所有復選框均應可見,並且如果我未選中一個或多個字段,則其他字段也應可見。 我只到達可以隱藏的地步,但是當我再次檢查它時,它重新加載了整個表,所以我卡住了。 我用我的老問題來做到這一點,即通過兩個值對Jquery進行過濾 感謝您的關注。

這是一個基於js的解決方案

var names = document.getElementsByClassName('name');
for(var i in names)
   names[i].addEventListener('click',function(){
       var name = this.getAttribute('value');
       var table = document.getElementById('mytable').getElementsByTagName('tr');
       for(var v in table){
          var elem = table[v].getElementsByTagName('td')[0];
          if(elem.innerHTML == name) 
              table[v].style.display = table[v].style.display == 'none' ? '' : 'none';
       }
   });

https://jsfiddle.net/ezqurmbm/

暫無
暫無

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

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