JS, Delete row - více řádků
6 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravím. Dělám si script, který mi jedním klikem na tlačítko smaže více řádků než jeden v závislosti na jejich rowIndex. Mám checkboxy a ve scriptu zjišťuji, jestli jsou zaškrtnuté. Pokud checkbox zaškrtnut je, pak se do pole uloží rowIndex dané řádky. No a poté mám cyklus for for (var x = 0; x < pole_s_indexrow.legth; x++) { tabulka.deleteRow(pole_s_indexrow[x]); } proměnná tabulka uchovává ID tabulky s těmi řádkami. Jenže nastal problém v tom, že když přes cyklus smažu jednu řádku, automaticky se řádkám, které jsou dále, nastaví rowIndex o jedno nižší. Nemohl by mi někdo poradit, jak toto ošetřit ? Popřípadě mohu poslat celý script.
-
Možná bude lepší nemazat je, ale pouze je skrýt. To by mohlo jít, ne ? Nějak tabulka.getElementsByTagName('tr')[pole_s_indexrow[x]].style.display = "none";
-
Tak jsem si odpověděl sám... pardon za zbytečný topic, napadlo mě to až poté, co jsem to odeslal. Hodím sem své řešení, které mi funguje - kdyby někdo řešil podobnou věc a nevěděl, jak na to. http://konecny.php5.cz/WZ/js.txt
-
<HTML>Existuje i jiné řešení - mazat řádky v tabulce od konce.</HTML>
-
... nebo mazat vždy položku s indexem 0 :-)
-
S tabulkami a selecty jsou v JS problemy u IE. Nejbezpecnejsi reseni je celou tabulku vygenerovat znova a vypsat pomoci innerHTML. for (var x = 0; x < pole_s_indexrow.legth; x++) Pokud muzes, pouzivej "i" jako increment misto "x". x,y,z se obvykle pouziva pro nazvy souradnic s,t pro text, string Ale samozrejme je to spravne, jen je to nezvykle..