Problem mit onChange

Status
Nicht offen für weitere Antworten.

Guillermo

Mitglied
Hallo Leute, ich schreibe gerade ein kleines dynamisches Formular, dazu habe ich eine Tabelle.
Über ein SELECT Feld kann man eine von 2 Aktionen auswählen , je nach Aktion soll ein Div eingeblendet werden, der HTML Code sieht so aus:

Code:
<table>
<tr><td><!-- Hier ist das SELECT - Feld -->
<select name="select1" onChange="javascript:switchSelect();">....</select>
</td></tr>
<div id = "1" style="display:none">
   <tr><td><!-- Hier ein Teil des Formulars --></td></tr>
</div>
<div id = "2" style="display:none" >
   <tr><td><!-- Hier ein anderer Teil des Formulars --></td></tr>
</div>
</table>

Und meine Javscript-Funktion:
Code:
function switchSelect() {
	if(document.formular.select1.selectedIndex == 1) {
		document.getElementById('1').style.display = 'block' ;
		document.getElementById('2').style.display = 'none' ;
	}
	if(document.formular.select1.selectedIndex == 2) {
		document.getElementById('2').style.display = 'block' ;
		document.getElementById('1').style.display = 'none' ;
	}
}

Das Problem ist , dass es vorher gegangen ist, aber sobald ich das ganze in eine Tabelle verschachtelt hatte ging es nichtmehr, jetzt wird es immer angezeigt, kann mir hier jemand helfen?
 
Hi,

das div-Element ist kein unmittelbares Nachfolgeelement des table-Elements bzw. ein Nachbarelement des tr-Elements.

Ein ID-Bezeichner darf nicht mit einer Ziffer beginnen.

mfg Maik
 
Ok das mit der einer Zahl als ID habe ich behoben, aber das mit dem Nachbar- und Nachfolgeelement verstehe ich nicht. Könntest du mir das nochmal kurz erläutern?
 
Entferne die div-Elemente gänzlich aus dem gezeigten HTML-Code, denn an diesen Stellen innerhalb der Tabelle haben sie nichts zu suchen, und übergib die ID-Bezeichner sowie das Inline-Style zum Ausblenden der Elemente stattdessen an die jeweiligen <tr>-Tags.

mfg Maik
 
Status
Nicht offen für weitere Antworten.
Zurück