Autor Zpráva
nedouk007
Profil
Ahoj.
na stranku bych rad umistil nekolik tabulek, nektere muzou byt i velice dlouhe (+100 radku). Proto bych chtel, aby se zobrazovalo nen rekneme prvnich 10 radku a kliknutim na tlacitko by tabulky expandovaly. Nasel jsem a pozmenil (proste jen pocet i=5 a vykomentoval test hlavicky) tento java-script, ktery vypada uzitecne - problem je, ze tabulka je po nahrani stranky expandovana cela. Zkousel jsem chvili blbnout s parametry "" a none, napsat jeste nejakou funkci, ktera by ty vypla nebo zapla uvodnich x radku, ale nic nefunguje. O java scriptu nic nevim (a o HTML to, co jsem pouzival pred 10 lety), tahle stranka, co ted delam, je jednorazovka. Tak bych rad poprosil o pomoc, byt dotaz asi zcela elementarni. Dik.

<script type="text/javascript">
var rowVisible = true;

function toggleDisplay(tbl) {
   tbl.style.display="";
   var tblRows = tbl.rows;
   for (i = 5; i < tblRows.length; i++) {
      \\if (tblRows[i].className != "headerRow") {
         tblRows[i].style.display = (rowVisible) ? "none" : "";
      \\}
   }
   rowVisible = !rowVisible;
}
Chamurappi
Profil
Reaguji na nedouka007:
problem je, ze tabulka je po nahrani stranky expandovana cela
Po nahrání tabulky zavolej toggleDisplay(…). Klidně hned za koncem </table>.

Já bych to celé řešil raději jinak:
Před první řádek, který se má skrývat, přidej <tbody id="schovat" style="display: none"> a pak měň document.getElementById("schovat").style.display mezi "" a "none". Je to jedna změna místo devadesáti.
nedouk007
Profil
jeste se pokousim nejak nastavit viditelnost tech uvodnich radku, ale zjevne js nerozumim, protoze j v prvni smycce nabude jen hodnoty 1 a ne uz dalsich... Pomoc vitana. diky
<body onload="displayrows(document.getElementById('theTable'),2)">
<script type="text/javascript">

var rowVisible = false;
//var showfirst = 3;


function displayrows(tbl,showfirst){
    var tblRows = tbl.rows;
   for (j = 0; j < showfirst; i++){
    //alert(showfirst)
    //alert(j)
    tblRows[j].className = "show";
    tblRows[j].style.display = "";
   }
}
function toggleDisplay(tbl) {
   var tblRows = tbl.rows;
   
   
   for (i = 0; i < tblRows.length; i++) {
      if (tblRows[i].className != "show") {
         
         tblRows[i].style.display = (rowVisible) ? "none" : "";
      }
   }
   //alert(tblRows.length);
   rowVisible = !rowVisible;
}

</script>



Chamurappi:
Diky moc. Volani toggleDisplay za tabulkou pomohlo. To reseni s tbody budu pamatovat pro priste, ted ne zcela ono, protoze ty tabulky produkuje jeden soft.
Jeste jednou dik.


Chamurappi:
Chamurappi:
Diky moc. Volani toggleDisplay za tabulkou pomohlo. To reseni s tbody budu pamatovat pro priste, ted ne zcela ono, protoze ty tabulky produkuje jeden soft.
Jeste jednou dik.

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: