webForumDet fria alternativet

OnChange

3 svar · 276 visningar · startad av fundrusse

fundrusseMedlem sedan jan. 2002286 inlägg
#1

Hur får jag detta att funka..
Det är så att jag ska visa ett lager när man väljer ett ämne ur en Select box..

<select name="test" size="1" class="input">
<option onChange="test1.style.display=''; test2.style.display='none';">test1</option>
<option onChange="test2.style.display=''; test1.style.display='none';">test2</option>
</select>

<table>
<tr id="test1">
<td>Hej</td>
</tr>
<tr id="test2" style="display: none">
<td>Hejdå</td>
</tr>
</table>

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Detta är inte ett lager. Det som man brukar definiera som ett lager är ett löst flytande objekt ovanpå sidflödet (position:absolute;). Dessutom är jag osäker på om det är meningen att det skall gå att ändra display på en tabell-rad, hur många webbläsare som klarar det är okänt.

<script language="JavaScript" type="text/javascript">
current="test1";
function switchTo(which){
	changeStyle(current,"display","none");
	changeStyle(which,"display","inline");
	current=which;
}
function changeStyle(Id,Property,Value){
	if (document.all){
		eval('document.all[Id].style.'+Property+'="'+Value+'"');
	} else if (document.layers){
		eval('document.layers[Id].'+Property+'="'+Value+'"');
	} else if (document.getElementById){
		eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
	}
}
</script>
<select name="test" size="1" class="input" onChange="switchTo(this[this.selectedIndex].value);"> 
<option value="test1">test1</option> 
<option value="test2">test2</option> 
</select> 

<table> 
<tr id="test1"> 
<td>Hej</td> 
</tr> 
<tr id="test2" style="display: none"> 
<td>Hejdå</td> 
</tr> 
</table>
fundrusseMedlem sedan jan. 2002286 inlägg
#3

Ja det verkar ju funka bra..
Men hur ska man göra för att visa båda lagren samtidigt?

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Så hade du inte skrivit i ditt teoretiska exempel. Det beror på hur du vill att "menyn" eller vad vi skall kalla det skall fungera. Du anropar alltså funktionen changeStyle() med 3 argument. Id't på det element som skall ändras, vilken egenskap som skall ändras och tillsist värdet som egenskapen skall ändras till.

129 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
127 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)