Autor | Zpráva | ||
---|---|---|---|
Nedy Profil |
#1 · Zasláno: 15. 4. 2005, 19:17:42
Potřeboval bych poradit jak v závislosti na stavu dvou radiobuttonů zobrazovat a skrývat jeden řádek (celý tr) tabulky.
S JavaScriptem si moc netykám tak by mi moc pomohlo kdyby sem někdo napsal zdroják |
||
FantomX1 Profil |
#2 · Zasláno: 15. 4. 2005, 20:39:14
S javascriptom som uz davno nerobil, ale pokusim sa ti pomoct.
<head> <script language='Javascript' type='text/javascript'> <!-- function zmen(){ var prvok=forms['formular1'].elements[0].checked;/*Toto je hodnota zaskrtnuteho radiobuttona, ak je zaskrtnuty ma hodnotu 1, inak ma hodnotu 0*/ if (prvok==1)/*Ak je zaskrtnuty, teda ma hodnotu 1, tak zobrazime riadok*/{ document.getElementById('riadokX').style.display='block'; } else { /*V inom pripad, iny pripad je len ze ma hodnotu 0 alebo ze nema ziadnu hodnotu, cize nie je zaskrtnuty, vtedy riadok skryjeme, cize mu nastavime CSS hodnotu display na none, co sposobi zmiznutie riadku. */ document.getElementById('riadokX').style.display='none'; } } //--> </script> </head> <form name='formular1'> <table> <tr> <td> volba1 <input type="radio" name="radio_01" checked="checked" value="svestky" onChange='zmen()'> </td> <!--Po zmeneni hodnoty sa spusti funkcia zmen, ktora sposobi zobrazenie alebo schovanie riadku. --> <td> volba2 <input type="radio" name="radio_01" value="hrusky"> </td> </tr> <tr id='riadokX'> <td> Toto se zobrazí pokud je </td> <td> vybrána volba1 (jinak zmizí) </td> </tr> </table> </form> Ako vravim, skript nemam odskusany, takze nemusi naisto fungovat, ale skus ho a skus sa stym pohrat. Ja uz s javascriptom velmi nerobim, ucim sa vacsinou PHP, ale chcel som ti pomoct kedze kedysi som sa babral prave s javascriptom. Ak si nebudes vediet vobec rady tak mi kludne napis na mail. |
||
Nedy Profil |
#3 · Zasláno: 15. 4. 2005, 21:32:36
dík moc, trošku jsem to přepsal (ale je to to samý)
V IE to funguje ale nejde to v Gecku, nevíte někdo co změnit aby to šlo i v Gecku? |
||
Fred Profil |
#4 · Zasláno: 15. 4. 2005, 22:04:45
function sw (id,st){ document.getElementById(id).style.display=st }
<input type="radio" onclick="sw('tr_ovoce','none');"> <input type="radio" onclick="sw('tr_ovoce','block');"> |
||
FantomX1 Profil |
#5 · Zasláno: 15. 4. 2005, 22:15:16
No Nedy, pochvala. Vyriesil si to ovela jednoduchsie a elegantnejsie ako ja. A co sa tyka Freda,
To Fred: Myslim ze to mas zle, pretoze ked by Nedy klikal stale na prvy radiobutton bez ohladu na to ci ho ma zaskrtnuty alebo nie riadok by sa nezobrazil, ak by klikol na druhy radiobutton riadok by bol stale zobrazeny ako by na druhy radio button klikal a pritom radio button cislo 2 by mohol byt aj odskrtnuty. Takze poprosim, trochu popremyslaj predtym nez nieco napises. |
||
Fred Profil |
#6 · Zasláno: 16. 4. 2005, 01:12:29
FantomX1
trochu popremyslaj predtym nez nieco napises vyzkoušej si to samozřejmě nemáš pravdu První funkce přidává navíc zbytečný form Ta druhá funkce zase volá nedefinovaný object, správně má být document.getElementById(tr_ovoce) Jestli je něco nesrozumitelné tak tady to je celé, s tím, že správně by se měla ošetřit neschopnost IE zobrazit display:table-row; , tzn. oddělit IE od normálních prohlížečů <script type="text/javascript"> function sw (id,st){ document.getElementById(id).style.display=st } </script> <table> <tr> <td>volba1 <input type="radio" name="radio_01" checked="checked" onclick="sw('tr_ovoce','none');" value="svestky"></td> <td>volba2 <input type="radio" name="radio_01" value="hrusky" onclick="sw('tr_ovoce','block');" /></td> </tr> <tr id="tr_ovoce"> <td>Toto se zobrazí pokud je </td> <td>vybrána volba1 (jinak zmizí)</td> </tr> </table> |
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0