2015-11-01 93 views
1

使用該代碼:隱藏列A

 

    var table1 = $('#TableA').find('td:eq(1)').text(); 

    var table2 = $("#TableB tr:gt(0)"); 

    table2.each(function (i) { 
     var tds = $(this).children('td'); 
     var type= +tds.eq(0).text(); 
     var price = +tds.eq(1).text(); 
     if (price == table1) { 
      var myTable = table2.filter(function() { 
       var tds = $(this).children('td'); 

      }) 
      myTable.add(this).hide() 
     } 
    }) 

我的HTML頁面結構

<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 

    <table id="TableA"> 
     <tr> 
      <th>Type</th> 
      <th>Price</th> 
      <th>Quantity</th> 
      <th>Ref No</th> 
     </tr> 
     <tr> 
      <td>Mouse</td> 
      <td>50</td> 
      <td>6</td> 
      <td>#101255</td> 
     </tr> 
     <tr> 
      <td>Speaker</td> 
      <td>300</td> 
      <td>6</td> 
      <td>#21165</td> 
     </tr> 
    </table> 
    <table id="TableB"> 
     <tr> 
      <th>Type</th> 
      <th>Price</th> 
      <th>Quantity</th> 
      <th>Ref No</th> 
     </tr> 
     <tr> 
      <td>Mouse</td> 
      <td>50</td> 
      <td>6</td> 
      <td>#101255</td> 
     </tr> 
     <tr> 
      <td>Speaker</td> 
      <td>300</td> 
      <td>6</td> 
      <td>#21165</td> 
     </tr> 
     <tr> 
      <td>Keyboard</td> 
      <td>150</td> 
      <td>7</td> 
      <td>#31234</td> 
     </tr> 
    </table> 

</body> 
</html> 

「圖像中的第二個表是表B」

我從這個表B的變化: Before

對此:After

現在我的問題是,只有一行被隱藏。仍然顯示「揚聲器」所在的行。我知道我必須爲此使用循環,但我沒有在哪裏實現循環以及如何實現。我是一位新手程序員,我知道我需要更多練習。請幫忙,謝謝提前

回答

0
<script type="text/javascript"> 
    $('body').click(function(e){ 

     var table1_tr = $('#TableA').find('tr'); <!--get the rows of first table--> 
     var table2 = $("#TableB tr:gt(0)"); 

     table1_tr.each(function(i,e){ <!-- loop through rows of first table --> 
      var table1 = $(e).find('td:eq(1)').text(); 
      table2.each(function (i) { 
       var tds = $(this).children('td'); 
       var type= +tds.eq(0).text(); 
       var price = +tds.eq(1).text(); 
       if (price == table1) { 
        var myTable = table2.filter(function() { 
         var tds = $(this).children('td'); 

        }) 
        myTable.add(this).hide() 
       } 
      }); 
     }) 
    }); 

</script> 

要檢查的price第一個表格的第一行中的文本與td文本

我從第一行修改腳本,以循環的第二個表中的所有行的表和檢查他們與第二張表的所有行 希望這可以幫助

+0

哦。我知道了!非常感謝您sir – Jha

+0

歡迎您:) –