Front End

21 dez, 2009

Tutorial: Como colorir alguns campos de uma tabela após carregada usando jquery

Publicidade

Neste tutorial vamos aprender como colorir algumas linhas, específicos, de uma tabela após ela já estar toda carregada na página HTML.

Para isso, vamos usar o framework jquery.

O primeiro passo é construir a tabela:

<table id="tb1" border="1">
   <tbody><tr>
      <th>Codigo</th>
      <th>Nome</th>
      <th>Idade</th>
   </tr>
   <tr>
      <td>01</td>
      <td>Sérgio Santos</td>
      <td>30</td>
   </tr>
   <tr>
      <td>02</td>
      <td>José Carlos Messias</td>
      <td>38</td>
   </tr>
   <tr>
      <td>03</td>
      <td>Gian Carlos Mendonça</td>
      <td>28</td>
   </tr>
   <tr>
      <td>04</td>
      <td>Maria Claudia</td>
      <td>22</td>
   </tr>
</tbody>
</table>

O segundo passo e escreve o código CSS que vai colorir a linha a tabela:

<style type="text/css">

    .fundoIdade{
        background-color:#758CCA;
    }

</style>

No final da página html vamos inserir um código javascript:

<script type="text/javascript">
function ColoriIdades(idade){

    $('#tb1 tbody tr').each(function(i){
        tr=$(this);
          tr.children('td').removeClass('fundoIdade');
        valor=tr.children('td:eq(2)').html();
        if(valor==idade){
            tr.children('td').addClass('fundoIdade');
        }
    })   
   
}
</script>

Entendendo o código javascript:

na primeira linha $('#tb1 tbody tr').each(function(i) vamos percorrer todas as tr da tabela.
na segunda linha tr=$(this); colocamos na variável tr o valor do objeto de cada tr
na terceira linha tr.children('td').removeClass('fundoGrupo') removeos a classe para quando for chamda novamente não sobreponha.
na quarta linha valor=tr.children('td:eq(2)').html() colocamos na variável valor, o valor html de cada linha que está na coluna 2, contamos a partir de zero.
na quinta linha fazemos uma checagem if(valor==idade) ou seja, se for a idade que estou querendo, então colore a linha
e por fim na sexta linah tr.children('td').addClass('fundoGrupo') a linha da tabela é colorida.

CHAME A FUNÇÃO da seguinte forma;

<a href="javascript:void(0)" onClick="ColoriIdades(30)">colorir linha com idade 30 anos</a>

Lembrando que para o tutorial funcionar devemos estar usando a biblioteca jquery.

OBS: para baixar a biblioteca jquery entrar neste link: CLIQUE AQUI