Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Como eu faço para exibir/ocultar uma coluna inteira de uma tabela sem ter que colocar isso para cada célula:
document.getElementById('column0').style.display = '';document.getElementById('column1').style.display = '';document.getElementById('column2').style.display = '';
Abraço,
Sim amigo, isso eu sei, tanto é que eu botei o exemplo...Mas eu queria algo mais dinâmico... Tipo percorresse todas as colunas que tivessem id começando com column.Valeu!
>
Sim amigo, isso eu sei, tanto é que eu botei o exemplo...
Mas eu queria algo mais dinâmico... Tipo percorresse todas as colunas que tivessem id começando com column.
Valeu!
esqueça o ID//
Dê uma classe diferente para as células de cada coluna: celulasdacoluna1 = classe1; celulasdacoluna2 = classe2;
Use um laço ( "for" )
para percorrer todas as células e verificar se o valor do atributo class é igual ao das células ( o conjunto da células representa a coluna ) q você deseja "sumir" da tela.
Se no teste der "Verdadeiro", quer dizer q a célula pertence à coluna q tuh quer "sumir" da tela,
então tu altera o valor do display desse elemento.
Uso isso num sistema pra gerenciar catálagos d qualquer coisa, é bem flexível e com cookies tu permite q
o usuário escolha quais os campos ele quer deixar ou não visível, ou seja, o user configura a tela, isso é bom.
No lugar da tabela uso uma lista não ordenada e as minhas "células" são tags spans//
ae tuh usa display:table para "ul", table-cell para "li" e já era.
Teu código fica + legível pra fazer qualquer manutenção e funciona redondo.
>
>
Sim amigo, isso eu sei, tanto é que eu botei o exemplo...
Mas eu queria algo mais dinâmico... Tipo percorresse todas as colunas que tivessem id começando com column.
Valeu!
esqueça o ID//
Dê uma classe diferente para as células de cada coluna: celulasdacoluna1 = classe1; celulasdacoluna2 = classe2;
Use um laço ( "for" )
para percorrer todas as células e verificar se o valor do atributo class é igual ao das células ( o conjunto da células representa a coluna ) q você deseja "sumir" da tela.
Se no teste der "Verdadeiro", quer dizer q a célula pertence à coluna q tuh quer "sumir" da tela,
então tu altera o valor do display desse elemento.
Uso isso num sistema pra gerenciar catálagos d qualquer coisa, é bem flexível e com cookies tu permite q
o usuário escolha quais os campos ele quer deixar ou não visível, ou seja, o user configura a tela, isso é bom.
No lugar da tabela uso uma lista não ordenada e as minhas "células" são tags spans//
ae tuh usa display:table para "ul", table-cell para "li" e já era.
Teu código fica + legível pra fazer qualquer manutenção e funciona redondo.
Podes me passar um exemplo de como ficaria o for? Não sei como faço para percorrer todas as células... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif
Valeu! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
coloca o id collumclass(i)array! depois meteve quantas posicoes tem, digamos, colunas vão do 1 até o 7for (i=1;i<=7;i++){ document.blablabla.getElementbyId("collumclass"+i).style=none;}
Consegui resolver! :D
Criei uma função, ficou assim:
function showHideColumn() { var idDaTabela = "target"; var prefixo = "cel-"; var TRs = document.getElementById(idDaTabela).getElementsByTagName("tr"); for (var linha = 0; linha <= TRs.length; linha++) { if ( document.getElementById(prefixo + 0 + "-" + linha) ) { showHide(prefixo + 0 + "-" + linha); } if ( document.getElementById(prefixo + 1 + "-" + linha) ) { showHide(prefixo + 1 + "-" + linha); } if ( document.getElementById(prefixo + 2 + "-" + linha) ) { showHide(prefixo + 2 + "-" + linha); } }}
Obrigado pessoal pelas dicas! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
document.getElementById("column0").style.display = "block";document.getElementById("column0").style.display = "none";