Zeilenfinder für Tabelle mit rowspan
Viennamade
- javascript
0 Cybaer
Hallo liebe Forumsteilnehmer!
Vorweg: Ich habe keine Ahnung von javascript, aber ich brauche jetzt mein zweites JavaScript :-)
Ein Konzept habe ich mir überlegt, bevor ich es realisiere möchte ich Euch fragen ob es halbwegs vernünftig ist.
Ich stütze mich auf ein funktionerenden Script welches einen "table ruler" macht:
<tr onmouseover="fnhi(this)" onmouseout ="fnlo(this)">
bzw.
function fnhi(src) {src.bgColor = '#C0C0C0'};
function fnlo(src) {src.bgColor = '#FFFFFF'};
Dieser Zeilenfinder funktioniert nicht, wenn Tabellenzellen mit rowspan verbunden sind, meine Tabelle sieht so aus ...
_______________________________
| | A | A |
| AB |---------------------|
| | B | B |
|------------------------------|
| | C | C |
| CD |---------------------|
| | D | D |
|________|__________|__________|
... und ich erstelle sie mit PHP. Im Zuge dieser Erstellung könnte ich den td-Elementen name-Attribute wie oben skizziert zuweisen.
Ist die Maus über einer Zelle mit dem Namen "A" sollen beide Zellen mit dem Namen "A" eine entsprechende bgColor erhalten, detto die Zelle "AB", usw. usf.
Ist die Maus über der Zelle mit dem Namen "CD" sollen beide Zellen mit dem Namen "C" und beide mit dem Namen "D" die entsprechende bgColor erhalten.
Ich denke mir, daß ich mit Schleifen (mir ist jetzt schon schlecht) und getElementsByName() die entsprechenden Zellen ausfindig machen kann und so die bgColor zuweisen kann.
Soll ich das so machen oder ist das Schnaps?
Beste Grüße
Viennamade
Hi,
Soll ich das so machen oder ist das Schnaps?
Schnaps! ;-)
Weder TR noch TD kennen NAME.
Aber vielleicht ist http://Coding.vampirehost.de/Toggle für Dich von Interesse? ;-)
Gruß, Cybaer
Hallo!
Aber vielleicht ist http://Coding.vampirehost.de/Toggle für Dich von Interesse? ;-)
Jo. Danke. Es funktionert jetzt!
Beste Grüße
Viennamde
PS.: So sieht mein "Meisterwerk jetzt aus" ... also ein Abgleich mit den Zellen-ID's:
function fndsfl(src,stat) {
if (stat == 'hi')
{
color = '#C0C0C0';
}
else
{
color = '#FFFFFF';
}
zeile = src.id.substr(0,2);
head = src.id.substr(0,1);
var table = document.getElementById('xfltbl');
var trd=table.getElementsByTagName('td');
for(var j=0;j<trd.length;j++)
{
if (trd[j].id.substr(0,2) == zeile)
{
trd[j].bgColor = color;
}
}
var thd=table.getElementsByTagName('th');
for(var j=0;j<thd.length;j++)
{
if (thd[j].id.substr(0,2) == head)
{
thd[j].bgColor = color;
}
}
}