webForumDet fria alternativet
Logga in / Bli medlem

Radiobuttons och Layers

JavaScript

3 svar · 237 visningar · startad av SteveP

Medlem sedan mars 2003772 inlägg
Trådstart#1

Jag har en liten sök sida där man har 2 Radio buttons.
Trycker man får radiobutton 1 så ska man få fram 3 st textforms och trycker man på radiobutton 2 ska man få fram 5 st textforms.

Den bästa lösningen jag kan tänka mig är att man helt enkelt lägger dom 3st första formsen i lager "1" och dom 5 st andra formsen i lager "2" sen beroden på vilken radiobutton man klickar på så visar men respektive Lager.

Är det onChange eventet man använder till Radiobuttons för att visa ett lager samt dölja ett annat?

Medlem sedan juni 20004 308 inlägg
#2

Exempel:

<form>
<input checked="checked" type="radio" name="foo" onClick="document.getElementById('text3').style.display='block'; document.getElementById('text5').style.display='none';">
<input type="radio" name="foo" onClick="document.getElementById('text3').style.display='none'; document.getElementById('text5').style.display='block';">
<br/>
<div id="text3" style="display:block;">
<textarea name="a"></textarea>
<textarea name="b"></textarea>
<textarea name="c"></textarea>
</div>
<div id="text5" style="display:none;">
<textarea name="d"></textarea>
<textarea name="e"></textarea>
<textarea name="f"></textarea>
<textarea name="g"></textarea>
<textarea name="h"></textarea>
</div>
</form>
Medlem sedan aug. 20039 340 inlägg
#3

Jojoxx, Om SteveP skulle behöva utöka med flera lager och radiobuttons är denna kod bättre.

 
<script><!--

function hideAllBut(Show){
	for (i=1;i<=3;i++){
		document.getElementById("layer" + i).style.display = (Show == i) ? "" : "none" ;
	}
}

--></script>

<label for="test1"><input name="testradio" id="test1" type="radio" onclick="hideAllBut(1)" checked>
Test 1</label>
<br />
<label for="test2"><input name="testradio" id="test2" type="radio" onclick="hideAllBut(2)" >
Test 2</label>
<br />
<label for="test3"><input name="testradio" id="test3" type="radio" onclick="hideAllBut(3)">
Test 3</label>
<br />

<div id="layer1">
1: <input type="text" name="text1"><br />
2: <input type="text" name="text2">
</div>

<div id="layer2" style="display: none;">
3: <input type="text" name="text3"><br />
4: <input type="text" name="text4"><br />
5: <input type="text" name="text5">
</div>

<div id="layer3" style="display: none;">
6: <input type="text" name="text6"><br />
7: <input type="text" name="text7"><br />
8: <input type="text" name="text8"><br />
9: <input type="text" name="text9">
</div>
Medlem sedan mars 2003772 inlägg
#4

Precis vad jag var ute efter.
Tack!

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)