display Eigenschaft / Tabellenzeilen (mehrere gleiche IDs?)

th23

Mitglied
Hallo,

mal wieder konnte mir das Forum schon beim suchen weiterhelfen bzgl. display = "" bei Tabellenzellen statt display = "block"! Super!

Aber eine kleine Frage ist da doch noch offen, auf die ich die Antwort nicht gefunden habe:

HTML:
<script LANGUAGE="JavaScript" TYPE="text/javascript">
function blocking(nr)
{
	vista = (document.getElementById(nr).style.display == 'none') ? '' : 'none';
	document.getElementById(nr).style.display = vista;
}
</script>
...

<table border="1">
<tr>
	<td class="row1"><b>Test1</b></td>
	<td class="row2">
		<input type="radio" name="cat_enable_cat_rating" value="1" onClick="blocking('tr_cat_enable_cat_rating');" /> yes &nbsp; 
		<input type="radio" name="cat_enable_cat_rating" value="0" onClick="blocking('tr_cat_enable_cat_rating');" /> no</td>
</tr>
<tr id="tr_cat_enable_cat_rating" style="">
	<td class="row1"><b>Test2</b></td>
	<td class="row2">soll verschwinden / erscheinen 2</td>
</tr>
<tr id="tr_cat_enable_cat_rating" style="">
	<td class="row1"><b>Test3</b></td>
	<td class="row2">soll verschwinden / erscheinen 3</td>
</tr>
<tr id="none" style="">
	<td class="row1"><b>Test4</b></td>
	<td class="row2">more input4</td>
</tr>
</table>

Wie kann ich zwei Tabellen-Zeilen verschwinden lassen (die gleiche ID führt offensichtlich nicht zum Ziel. Ein DIV Tag kann ich ja auch nicht drum setzen... was bleiben denn da noch für Möglichkeiten?

Vielen Dank
Thorsten
 
Ok, Danke... das hilft bestimmt ;)

Aber ich habe doch noch selbst durch probieren die passende Lösung gefunden... und jetzt muss dringend zu meiner - sonst kalten - Pizza :-)


HTML:
<HTML>
<HEAD>

<script LANGUAGE="JavaScript" TYPE="text/javascript">
function blocking(nr, vista)
{
	obj = document.getElementsByName(nr);
	for (i=0; i<obj.length;i++) obj[i].style.display=vista;
}
</script>

</HEAD>
<BODY>

<table border="1">
<tr>
	<td class="row1"><b>Test1</b></td>
	<td class="row2">
		<input type="radio" name="cat_enable_cat_rating" value="1" onClick="blocking('tr_cat_enable_cat_rating', '');" /> yes &nbsp; 
		<input type="radio" name="cat_enable_cat_rating" value="0" onClick="blocking('tr_cat_enable_cat_rating', 'none');" checked="checked"/> no</td>
</tr>
<tr name="tr_cat_enable_cat_rating" style="display:none;">
	<td class="row1"><b>Test2</b></td>
	<td class="row2">soll verschwinden / erscheinen 2</td>
</tr>
<tr name="tr_cat_enable_cat_rating" style="display:none;">
	<td class="row1"><b>Test3</b></td>
	<td class="row2">soll verschwinden / erscheinen 3</td>
</tr>
<tr name="none" style="">
	<td class="row1"><b>Test4</b></td>
	<td class="row2">more input4</td>
</tr>
</table>

</BODY>
</HTML>
 
Sorry, doch noch nicht erledigt... das scheint nur im FireFox zu gehen... IE und Opera weigern sich...

Woran könnte das denn liegen?
 
javaScript! :-)

ne im ernst! einige Funktionen in JavaScript funktionieren zwar auf IE und FF aber auf den anderen nicht und umgekehrt und das muss dann mordsmäßig umgangen werden! was du da aber ändern musst kann ich dir leider auch nicht sagen!! sry.. :confused:
 
<tr>-Elemente haben lt. HTML kein Name-Attribut.

Die beste (und auch legale Methode) ist das Ansprechen der <tr> per tabellenobjekt.getElementsByTagName() ...oder auch per tabbellenobjekt.rows[]
 
Oh! Aber IDs darf ich den Tabellenzeilen (tr) doch zuweisen, oder? Weil wenn das geht, dann bin ich ganz nahe an einer Lösung....werde ich dann auch gerne wieder posten...

Thorsten
 
Ja, genau das ist mir gerade - nach langem rumprobieren - auch für Radio-Buttons aufgefallen. Trotz Zusammengehörigkeit darf man da auch jedem Button nur eine Unique ID zuweisen, sonst kann man - so wie ich - gerade sehr lange den Fehler im Script suchen... ;)
 

Neue Beiträge

Zurück