2016-03-27 22 views
1

jqueryを使用して2つのテーブルのセルの値を比較する必要があります。 私はfirstnameとmiddlenameとlastnameとを表2と比較するべきです。これらの3つの値が表2の行と一致すると、2番目の表の行に色を付ける必要があります。2つのテーブルの行を比較するJquery

Fiddle

<table id="T1" border='1'> 
    <thead> 
    <tr> 
     <th>First Name</th> 
     <th>Middle Name</th> 
     <th>Last Name</th> 
     <th>Suffix</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>12</td> 
     <td>34</td> 
     <td>56</td> 
     <td>78</td> 
    </tr> 
    </tbody> 
</table> 

<table id="T2" border='1'> 
    <thead> 
    <tr> 
     <th>First Name</th> 
     <th>Middle Name</th> 
     <th>Last Name</th> 
     <th>Suffix</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>12</td> 
     <td>34</td> 
     <td>56</td> 
     <td>23</td> 
    </tr> 
    <tr> 
     <td>bat</td> 
     <td>man</td> 
     <td>11</td> 
     <td>21212</td> 
    </tr> 
    <tr> 
     <td>james</td> 
     <td>bond</td> 
     <td>007</td> 
     <td>dadadada</td> 
    </tr> 
    <tr> 
     <td>12</td> 
     <td>34</td> 
     <td>56</td> 
     <td>78</td> 
    </tr> 
    </tbody> 
</table> 

<br /><br /><br /><br /> 

<button id="btn">color if matches</button> 
+2

JSコードも共有できますか?私は問題やフィドルでそれを見ない。 SOは無料サイトのコードを取得していません。 – Rajesh

+0

今すぐ確認してください。私は行のためにそれを書くことができました..しかし、私は最初の名前の姓とmiddlenameの値を取る必要があります – Ramki

答えて

0

これを試してみてください:

$(function(){ 
    $('#btn').on('click', function(e){ 
     $('#T1 tbody tr').each(function(){ 
     var row = $(this); 
     var left_cols = $(this).find("td:lt(3)"); 
     $('#T2 tbody tr').each(function(){ 
      var right_cols = $(this).find("td:lt(3)"); 
      if(left_cols.html() == right_cols.html()) { 
       left_cols.css('background-color', 'green').css('color', 'red'); 
       right_cols.css('background-color', 'green').css('color', 'red'); 
      } 
     }); 
     }); 
    }); 
}); 

は、この情報がお役に立てば幸いです。

+0

あなたはフィドルを見てみることができます...行の最初の3つのcoloumnsは2行ではない – Ramki

+0

それに応じて私の答えを編集させてください。 :) –

+0

あなたのコードは正常に行全体が一致する場合...私はフィドラーで同じを書くことができたが、私は行の3つの列を取るし、残りの2つのテーブルの各行の3つの列と一致したい – Ramki

関連する問題