У меня есть таблица, и я бы хотел добавить скрытую/демонстрируемую панель под каждой строкой для большего количества элементов управления и информации, чем это может быть удобно в таблице. Моя первая мысль была иметь родственный тр для каждого оригинального тра, и положить один тд внутри с соответствующим Colspan:Информационная панель ниже TRs
<tbody>
<tr>
<td>...</td>
...
<tr>
<tr class="tablesorter-childRow">
<td colspan="4">...</td>
</tr>
...
</tbody>
Каждой оригинальная строка будет иметь кнопку, которая будет скрывать() или шоу() соответствующее tr, а td в дочерней строке будет иметь все дополнительные элементы управления, которые не должны рассматриваться нормально.
Это становится сложно, потому что я использую d3 для построения таблицы, а d3 не нравится несколько элементов в каждом столбце (см. this stack post и this other thing).
Это также сложно, потому что я использую tablesorter, который сортирует клиентскую сторону таблицы, используя значения в tds, поэтому исходные данные должны оставаться в формате таблицы. (Он может содержать пары рядов вместе, используя класс css «tablesorter-childRow».) Я также не считаю, что у меня может быть несколько тбодов, потому что они не сортируются вместе с строками - каждая строка tbody сортируется.
Я подумал об использовании jquery впоследствии, чтобы вставить tr после каждого оригинала tr, но тогда d3 не обновит таблицу должным образом, когда что-то изменится (поскольку данные не будут соединяться должным образом), и причина, по которой я использую d3 заключается в том, что он упрощает сборку элементов dom (для меня как минимум).
Итак, вопрос времени: как еще я могу создать эту панель,
- двигается с исходными строками таблицы
- не влияет на сортировку
- может быть скрыт или показан?