Autor Zpráva
nedouk007
Profil
Ahoj.
Mam funkci na expanzi tabulky, stav expand/collapse si cte z globalni promenne rowVisible,

ja tech tabulek na stranku potrebuju X.
pri prostem kopirovani vsechny ctou tutez globalni prommenou.

existuje nejake reseni misto stavajiciho

var PŘEPÍNAČ
function(TABULKA){
if(PREPINAC)

PREPINAC= !PREPINAC;
}

nejake čárymáry
var PREPINACPROTABULKU1
var PREPINACPROTABULKU2

function(TABULKA, JMENO_PREPINACE){

PREPINAC<- čárymáry(JMENO_PREPINACE)

if(PREPINAC)

PREPINAC= !PREPINAC;
}

Umim udelat tak, ze kazda tabulka ma i svuj js, ktery se lisi jen tim globalnim prepinacem. Ale to je asi d*ebilni. Tabulek mam mraky.

dik


cela fce
var rowVisible = TRUE

  function toggleTabRows(tbl,showfirst) { 
                      tbl.style.display="";
                      var tblRows = tbl.rows;
  
   
                       for (i = showfirst; i < tblRows.length; i++) {
                         
                             tblRows[i].style.display = (rowVisible) ? "none" : "";
                          
                       }
                       rowVisible = !rowVisible;
      }
peta
Profil
nedouk007:
Posli funkcni ukazku.
Element PREPINAC neznam.
JS kod dole se da nahradit display="none" pro celou tabulku tbl.
<table id=tabulka1></table>
<table id=tabulka2></table>
<script>
var visible = {'tabulka1':true,'tabulka2':false};
var tbl = document.getElementById('tabulka1');
var id  = tbl.id;
var vis = visible[id];
alert(vis);
var tbl = document.getElementById('tabulka2');
var id  = tbl.id;
var vis = visible[id];
alert(vis);
</script>

Protoze visible neni parametr tabulky, tak neovlivni nijak element, muzes ho zapsat primo do elementu.
<table id=tabulka1></table>
<table id=tabulka2></table>
<script>
var tbl, vis;
tbl = document.getElementById('tabulka1');
tbl.visible = true;
vis = tbl.visible;
alert(vis);
tbl = document.getElementById('tabulka2');
tbl.visible = false;
vis = tbl.visible;
alert(vis);
</script>
Kcko
Profil
  var rowVisible = [];
 
  function toggleTabRows(tbl,showfirst) { 
                      tbl.style.display="";
                      var tblRows = tbl.rows;
                        
                       if (typeof rowVisible[tbl.id] == undefined)
                       {
                           rowVisible[tbl.id] = true;
                       }
                        
                       for (i = showfirst; i < tblRows.length; i++) {
                         
                             tblRows[i].style.display = (!rowVisible[tbl.id]) ? "none" : "";
                          
                       }
                       rowVisible[tbl.id] = !rowVisible[tbl.id];
      }
nedouk007
Profil
Panove, oboum dekuju.
Reseni od
Kcko:
je naprosto idealni.

pro peta
ten muj pokus to byl jen pseudokod - ja bastlim v jazyce, kde existuje x = get("jmeno promenne")


ted jeste zbyva vymyslet, jak to udelat, aby si tabulka drzela fixni sirku sloupcu pri expanzi/kolapsu. Je nejaky zpusob, jak si script precte jak ma udelat tabulku velkou, aby ji pak nemusel po expanzi prifouknout?

Nechci davat fixni sirky sloupcu v css. Tabulky, co generuju maj nejruznejsi obsah.

diky moc

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: