Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Bootstrap

Conforme o código a baixo:

<div class="container table-responsive">
        <table class="table table-striped table-hover">
            <caption>Lista de Contribuintes Cadastrados</caption>
              <thead>
                <tr>
                    <th scope="col"></th>
                    <th scope="col">#</th>
                    <th scope="col">Nome</th>
                    <th scope="col">Sobrenome</th>
                    <th scope="col">Data</th>
                    <th scope="col">Fone</th>
                    <th scope="col">Email</th>
                    <th scope="col">site</th>
                    <th scope="col">Obs</th>

                </tr>
            </thead>
            <tbody>
                <tr data-toggle="collapse" data-target="#accordion" class="clickable">    
                    <td>     
                        <div class="row-fluid summary">
                            <div class="span1">
                                <button class="btn-outline-primary" data-toggle="collapse" data-target="#intro">+</button>
                            </div>
                        </div>
                    </td>
                     <td>1</td>
                      <td>teste</td>
                      <td>testando</td>
                      <td>24/05/2017</td>
                      <td>(11) 0 0000-000</td>
                      <td>(11) 0 0000-000</td>
                      <td>(11) 0 0000-000</td>
                      <td>Voce ligou para Testeeeeee para falar em comercial!</td>
                </tr>
                <tr>
                    <td>
                        <div class="row-fluid summary">
                            <div id="intro" class="collapse"> 
                                Teste!!!!!!
                            </div>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>

Gostaria de realizar um collapse em uma tabela, que ao clicar em um botão:

<tr data-toggle="collapse" data-target="#accordion" class="clickable">    
    <td>     
        <div class="row-fluid summary">
                <div class="span1">
                    <button class="btn-outline-primary" data-toggle="collapse" data-target="#intro">+</button>
                </div>
        </div>
Mais código...
</tr>

aparecesse um texto que ficará a baixo de toda a linha da tabela do botão selecionado, e não apenas a baixo da coluna de botão:

<tr>
    <td>
        <div class="row-fluid summary">
            <div id="intro" class="collapse"> 
                Teste                             
            </div>
        </div>
    </td>
</tr>

E caso tenha mais linhas e colunas em minha tabela, aparecer o texto a baixo apenas da linha selecionada e não abaixo da tabela inteira. É possível fazer isso com tabela?

2 respostas

Olá Andersson,

Para aparecer um texto na linha inteira embaixo da tabela, você pode adicionar o atributo colspan no <td> com o número total de colunas que a tabela tem:

<tr>
    <td colspan="9">
    <div class="row-fluid summary">
        <div id="intro" class="collapse">
            Teste!!!!!!
        </div>
    </div>
    </td>
</tr>

Agora no caso de ter mais linhas na sua tabela, você pode adicionar uma linha collapsada embaixo de cada linha da tabela, para que o botão + abra a linha logo abaixo.

Mas cuidado que cada linha nova terá que ter um ID com nome diferente. E se relacionar com o data-target do botão referente a linha collapsada.

Espero que isso tenha resolvido o que você precisa.

Andreza

solução!

Oii Andersson, tudo bem?!!

Fiz um teste aqui e consegui fazer funcionar.

Coisas que corrigi no seu código: apenas o botão precisa ter os atributos data-toggle="collapse" e data-target="#col1-row1" (então, retirar eles da <tr>).

Detalhe, o atributo data-target faz referência à algum id, e os ids devem ser únicos, então cada botão deve apontar para uma <tr> com seu respectivo id (que é único).

Outra coisa que arrumei foi que o id e a class="collapse" devem ficar na segunda <tr> (a que está escondida). Dentro da <tr> a <td> deve conter o atributo colspan="9" para ocupar o espaço de 9 colunas, ou seja, toda a largura da tabela. Ficando assim:

<tr id="col2-row2" class="collapse">
    <td colspan="9">
                         ...

Detalhe, verifique se o jquery e o js do bootstrap estão incluídos na sua página, pois só com eles que a funcionalidade de collapse funciona.

Veja o exemplo que montei: https://codepen.io/vanessametonini/pen/BVaVGJ?editors=1100

Espero que ajude, abraços e bons estudos!