Autor Zpráva
Schmutzka
Profil
Ahoj,

chtěl bych se zeptat, jak se dá skrýt jeden sloupec v tabulce (popřípadě jeden řádek), a co nejjednodušším příkazem odkrýt. Děkuji za odpověd :>
Pachollini
Profil
Asi bych všem buňkám toho sloupce přiřadil třídu a pak přepnul pomocí JavaScriptu třídu nadřazeného prvku, tedy:

<table id="tabulka">
<tr><td></td><td class="skryvaci"></td></tr>
<tr><td></td><td class="skryvaci"></td></tr>
</table>

a přepínací checkbox:
<label><input type="checkbox" onclick="document.getElementById('tabulka').className=this.checked?'': 'skryj';" onkeyup="document.getElementById('tabulka').className=this.checked?'': 'skryj';" />zobrazit sloupec</label>

v CSS:
#tabulka.skryj td.skryvaci{display:none;}
Schmutzka
Profil
Díky moc, omlouvám se ale formuloval jsem to špatně. Potřebuju, ten sloupec byl skrytý, již když na stránku přejdu, a abych ho mohl příkazem odkrýt. Thanks to Pachollini
schmutzka
Profil *
Mohl by mi někdo poradit, prosím, jak se to udělá, aby to bylo skrýté, už když na stránku přijdu a abych to mohl příkazem odkrýt?
Fred
Profil
Vždyť ti to Pachollini krásně funkčně vyřešil, chce to trochu se snažit. Změň jenom to css
#tabulka td.skryvaci{display:none;}
#tabulka.skryj td.skryvaci{display:block;}
Schmutzka
Profil
když napíšu do zdrojového kódu toto:

<link rel="stylesheet" type="text/css" href="style.css">

<table id="tabulka">
<tr>1<td></td><td class="skryvaci">2</td></tr>
<tr>3<td></td><td class="skryvaci">4</td></tr>
</table>

<label><input type="checkbox" onclick="document.getElementById('tabulka').className=this.checked?'': 'skryj';" onkeyup="document.getElementById('tabulka').className=this.checked?'': 'skryj';" />zobrazit sloupec</label>


a do stlyle.ccs toto:

#tabulka td.skryvaci{display:none;}
#tabulka.skryj td.skryvaci{display:block;}


tak mi to furt nefunguje; mohl by mi prosím někdo poradit
Fred
Profil
Máš pravdu v IE to ze záhadných důvodů nejde :(
Fred
Profil
Fakt nevím proč to nejde normálně, ale tohle funguje, testováno IE5+,FF 0.7+ , Opera 8 (v Opeře 7.5 mi to nejde, ale můžu jí mít poškozenou, mám na PC příliš mnoho Oper )

<style type="text/css">
td.hide,td.onl{display:none;}
td.show{display:block;}
</style>
<script type="text/javascript">
function sh(id,cls){
var kde=document.getElementById(id)
var co=kde.getElementsByTagName('td');
for (var i=0;i<co.length;i++){
var rel=co[i].getAttribute('rel');
if (rel=='sh'){co[i].className=cls;}
}}
</script>


<table id="tabulka">
<tr><td>1</td><td rel="sh" class="onl">2</td></tr>
<tr><td>3</td><td rel="sh" class="onl">4</td></tr>
</table>
<label>
<input type="checkbox" onclick="if (this.checked){sh('tabulka','show');}else {sh('tabulka','hide');}" onkeyup="if (this.checked){sh('tabulka','show');}else {sh('tabulka','hide');}" />zobrazit sloupec</label>
Schmutzka
Profil
Moc, moc, moc děkuji Fredovi, už mi to funguje. Děkuji ti za se mnou ztracený čas. Tímto toto téma mohu uzavřít. Pokut to někdo víte jak, tak to smažte, pokud by to překáželo. Pokud ne, tak to bude velmi užitečné pro další uživatele. Ještě jednou moc díky. Schmutzka
A pokud by někdo chtěl pozvánku na Gmail (který má asi 2119 MB schránku tak se podívejte na http://www.bytetest.com/)
Toto téma je uzamčeno. Odpověď nelze zaslat.