Autor Zpráva
Nedy
Profil
Potřeboval bych poradit jak v závislosti na stavu dvou radiobuttonů zobrazovat a skrývat jeden řádek (celý tr) tabulky.

<table>
<tr>
<td> volba1 <input type="radio" name="radio_01" checked="checked" value="svestky"> </td>
<td> volba2 <input type="radio" name="radio_01" value="hrusky"> </td>
</tr>

<tr>
<td> Toto se zobrazí pokud je </td>
<td> vybrána volba1 (jinak zmizí) </td>
</tr>
</table>

S JavaScriptem si moc netykám tak by mi moc pomohlo kdyby sem někdo napsal zdroják
FantomX1
Profil
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
dík moc, trošku jsem to přepsal (ale je to to samý)

.
.
function objDisplay (obj,on){
(on) ? obj.style.display='block' : obj.style.display='none';
}
.
.
<input type="radio" name="radio_01" value="hrusky" onclick="objDisplay(tr_ovoce,0);" />
.
.
<tr id="tr_ovoce">
<td>...

V IE to funguje ale nejde to v Gecku, nevíte někdo co změnit aby to šlo i v Gecku?
Fred
Profil
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
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
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>
Toto téma je uzamčeno. Odpověď nelze zaslat.

0