Использование jQuery в таблице для отображения содержимого отдельной ячейки выбранной строки вне таблицы - PullRequest
0 голосов
/ 02 июня 2011

Это, по сути, моя таблица внутри цикла:

<table id="tblMyTable">
  <tr>
     <td><%= attachment.Name %></td>
     <td><%= attachment.Description %></td>
     <td>
        <a id="clickPreview" href="#">Preview</a>
        <div id="divAttachmentContents" style="display:none;"> <%= attachment.ContentsAsHtml %>
        </div>
     </td>
   </tr>
</table>

Из этого я получаю несколько строк с данными.Я хочу иметь кнопку предварительного просмотра в конце строки, в последнем столбце, которая будет «просматривать» содержимое в div дальше вниз по странице.Я предположил, что должен отрендерить контент в скрытую ячейку, чтобы он быстро появился.

Мне нужно знать, как сообщить jQuery строку, в которой я нахожусь, - и получить текст последней ячейки.

Суть того, что мне нужно, это:

    $('#clickPreview').click(function () {
        var newContent = $('#divAttachmentContents').text();
        $('#divAttachmentPreview').html(newContent);
    });

Но это работает только в первом ряду.Возможно, мне придется сделать что-то вроде

<div id="<%= "divAttachmentContents_" + attachment.Id %>" style="display:none;"> <%= attachment.ContentsAsHtml %> </div>

Но я не уверен.Это может быть похоже на Этот вопрос Любая помощь будет принята с благодарностью!

1 Ответ

3 голосов
/ 02 июня 2011

Вы можете назначить класс для якоря.Это облегчит работу.Например,

$('.clickPreviewClass').click(function () {
    var newContent =$(this).next("div").text();
    $('#divAttachmentPreview').html(newContent);
});

при условии, что clickPreviewClass - это имя класса, который вы задаете своему якору.

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