LINUX.ORG.RU

заменить содержимое ячейки таблицы

 , ,


0

2

Есть html страница, в ней следующая таблица:

<table class="table1_class">
  <tr>
    <td><a href="somepage.html?param1"></td>
    <td>field2</td>
    <td>field3</td>
  </tr>
  <tr>
    <td><a href="somepage.html?param2"></td>
    <td>field2</td>
    <td>field3</td>
  </tr>
</table>

На somepage.html (с параметрами) есть таблица 2 следующего вида:

<table id="table2">
  <tr>
    <td>f11</td>
    <td>f12</td>
    <td>f13</td>
  </tr>
  <tr>
    <td>f21</td>
    <td>f22</td>
    <td>f23</td>
  </tr>
</table>
Нужно на место field2 вывести данные из таблицы table2 f21.

Ссылка на страницу, на которой находится table2 находится в 1 ячейке таблицы table1 и уникальная для каждой строки.

Эти действия нужно произвести на стороне браузера с помощью скрипта.

Вопрос: как это сделать, что нужно почитать? (пример страниц здесь

★★★★

jQuery, css-selectors

с помощью первого можно обойти первую таблицу, получить ссылки, открыть их в прикрепленном hidden-frame (думается), но вот можно ли потом из главного документа обратиться к дочнему фрэйму?..

Надо пробовать.

bvn13 ★★★★★ ()
Ответ на: комментарий от bvn13

вот. Раскопал немного.

http://stackoverflow.com/questions/1304299/jquery-load-content-from-link-with...

Шаги:

1) обходим все ячейки, если это первая ячейка в строке, то содержимое загружаем в предварительно добавленный div. Вот тут набросал: http://jsfiddle.net/PpHEx/

(function($){
    $(document).ready(function(){
        if ($(body).find('myhidden').count() === 0) {
            $(body).append('<div id="myhidden"></div>');
        }
        $('.table1_class tr').each(function(){
            var row = this;
            $(row).find('td').each(function(){
                var col = this;
                if ($(col).html() == $(row).find(':first-child').html()) {
                    $('#myhidden').load($(col).html());
                }
                
            });
        });
    });
})(jQuery);

2) потом надо пробежать по таблице внутри этого дива, оттуда дернуть конкретное значение и всунуть в текущую ячейку.

bvn13 ★★★★★ ()
Ответ на: комментарий от bvn13

2) потом надо пробежать по таблице внутри этого дива, оттуда дернуть конкретное значение и всунуть в текущую ячейку.

Как пройтись по таблице?

$('#myhidden td').each(function(i) {
alert($(this))
});

ничего не выводит

ymuv ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.