Сравнение значений столбцов в 2 таблицах и копирование содержимого следующего столбца во вторую таблицу - PullRequest
1 голос
/ 15 марта 2010

Я сравниваю две таблицы в первом столбце каждая. Если есть совпадение, я копирую текст из соседней ячейки первой таблицы во вторую таблицу. Я могу сравнить строки и получить значение, но мне сложно распечатать его во второй таблице. Я получаю значение в var "replaceText", но как напечатать его во второй таблице? Пожалуйста, помогите ... Пример кода выглядит следующим образом ..

<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function(){

    jQuery('.itemname').each(function(){
    var itemName = jQuery(this).text();

        jQuery('.comparerow').each(function() {
        var compareRow = jQuery(this).text();

            if (itemName == compareRow) {
            var replaceText = jQuery(this).next('td').text();
            alert(replaceText);
            }

        });
    }); 
    });
</script>

HTML выглядит следующим образом

<table width="100%"><thead>
<tr>
  <th align="left" >Name</th><th>Description</th></tr></thead>
<tbody>

<tr>
  <td class="comparerow">IX0001</td>
  <td class="desc">Desc 1 </td>
</tr>


<tr>
  <td class="comparerow">IX0002</td>
  <td class="desc" >Desc 2 </td>
</tr>

<tr>
  <td class="comparerow">IX0003</td>
  <td class="desc">Desc 3 </td>
</tr>
<tr>
  <td class="comparerow">IX0004</td>
  <td class="desc">Desc 4 </td>
</tr>
</tbody>
</table>

<br />

<table width="100%">
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr >
<td class="itemname">IX0001</td><td></td>
</tr>
<tr>
<td class="itemname">IX0002</td><td></td>
</tr>
<tr>
<td class="itemname">IX0003</td><td></td>
</tr>
</table>

1 Ответ

0 голосов
/ 15 марта 2010

Вы можете упростить это в целом, используя селектор :contains , чтобы найти свое соответствие следующим образом:

jQuery.noConflict();
jQuery(document).ready(function() {
  jQuery('.itemname').each(function() {
    var itemName = jQuery(this).text();
    var match = jQuery('.comparerow:contains("' + itemName + '")');
    if(match.length)
      jQuery(this).next('td').text(match.next('td').text());
  }); 
});

Это просматривает каждый элемент, ищет совпадения. Если мы нашли совпадение (.legnth равно> 0), тогда установите следующий <td> текст для следующего <td> текста совпадения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...