Как реализовать дополнительный блок к строкам таблицы?

После долгих запросов в гугл начинаю думать, что моя идея бредовая, поэтому спрашиваю тут.

У меня есть таблица из 10 столбцов. Таблица берет данные из БД. Мне нужно, чтобы к каждой строке еще дополнительно подгружалась информация, которая не помещается в основную таблицу. ДЛя меня это выглядело так

введите сюда описание изображения

То есть в БД есть некий объект и у него есть куча параметров. Основные параметры я вывожу в таблицу, а дополнитльные мне тоже нужно как-то вывести. Сначала была идея реализовать это выдвижным блоком по клику на строку таблицы, но подобных решений в поиске не было. Затем была идея с модальными окнами, но это крайне неудобно. Может кто-то уже сталкивался с подобным? Почти все решения используют id элементов, но у меня их могут быть сотни, поэтому данное решение не подходит.


Ответы (1 шт):

Автор решения: Denis I
По клику на кнопочку. Стили дорисуете? Тут они чисто от балды. 

   $('.more-button').on('click',function(){
     $(this).parent('tr').siblings('.more-block').slideToggle();
   });
   .mytable{
  width:100%;
   }
   .mytable tr{
  display:flex;
  flex-direction:row;
   }
   .mytable td{
  display:block;
  border:1px solid #ccc;
  color:#444;
  font-family: sans-serif;
  font-size: 1rem;
  padding: 2px 4px;
  width:20%;
   }
   .more-button{
  background-color: #00ffc8;
  color:#fff;
  font-weight: bold;
  cursor: pointer;
   }
   .more-block{
  display:none;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table class="mytable">
   <tr class="main-row">
  <td>Запись 1</td>
  <td>Запись 2</td>
  <td>Запись 3</td>
  <td>Запись 4</td>
  <td class="more-button">Подробнее</td>

   </tr>
   <tr class="more-block">
  <td>Доп. Запись 1</td>
  <td>Доп. Запись 2</td>
  <td>Доп. Запись 3</td>
  <td>Доп. Запись 4</td>
  <td>Доп. Запись 5</td>
  <td>Доп. Запись 6</td>
  <td>Доп. Запись 7</td>
  <td>Доп. Запись 8</td>
  <td>Доп. Запись 9</td>
  <td>Доп. Запись 10</td>
  <td>Доп. Запись 11</td>
  <td>Доп. Запись 12</td>
   </tr>
</table>
<table class="mytable">
   <tr class="main-row">
  <td>Запись 1</td>
  <td>Запись 2</td>
  <td>Запись 3</td>
  <td>Запись 4</td>
  <td class="more-button">Подробнее</td>

   </tr>
   <tr class="more-block">
  <td>Доп. Запись 1</td>
  <td>Доп. Запись 2</td>
  <td>Доп. Запись 3</td>
  <td>Доп. Запись 4</td>
  <td>Доп. Запись 5</td>
  <td>Доп. Запись 6</td>
  <td>Доп. Запись 7</td>
  <td>Доп. Запись 8</td>
  <td>Доп. Запись 9</td>
  <td>Доп. Запись 10</td>
  <td>Доп. Запись 11</td>
  <td>Доп. Запись 12</td>
   </tr>
</table>

→ Ссылка