Avatar billede neoman Novice
01. maj 2007 - 11:41 Der er 2 kommentarer og
1 løsning

Kode virker i IE 6 men ej FF 2

Jeg har følgende kodestump som virker i IE6 men der sker ingenting i FF 2. Den skal ændre farven på en tabelrække, når man klikker på en checkbox yderst i rækken.

<script type="text/javascript">
//declare global variables
var rowsSelected = 0;
//change the background color of a row when selected and
//also count how many rows are selected
function colorRow(srcElement) {
    var cb = event.srcElement;
    var curElement = cb;
    while (curElement && !(curElement.tagName == "TR")) {
        curElement = curElement.parentElement;
    }
    if (!(curElement == cb) && (cb.name != "cbxSelectAll")) {
        if (cb.checked) {
            curElement.style.backgroundColor = "gold";
            rowsSelected = rowsSelected + 1;
        }
        else {
            curElement.style.backgroundColor = "#eeeeee";
            rowsSelected = rowsSelected - 1;
        }
    }
}



Min samlede JS erfaring er 24 timer ! :-) så hvis du/I kan hjælpe,  så skal det helst være i form af kode, og ej begreber jeg ikke aner hvordan jeg skal implementere i praksis.

I min master page har jeg følgende :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ved ikke om det er relevnt eller ej.
Avatar billede neoman Novice
01. maj 2007 - 11:50 #1
og jeg har prøvet at bruge parentNode i stedet for parentElement - igen, virker i IE men ej FF :-(
Avatar billede neoman Novice
01. maj 2007 - 14:30 #2
var cb = event.srcElement; blev erstattet med var cb=srcElement; og nu virker det begge steder
Avatar billede roenving Novice
01. maj 2007 - 14:32 #3
event.srcElement virker kun i IE ...

-- men du kan jo bare sende elementet med i kaldet:

onclick="colorRow(this)"

Desuden virker parentElement også kun i IE, mens parentNode virker i de nyere browsere, jeg kender

-- så lav funktionen sådan:

function colorRow(srcElement) {
    var curElement = srcElement;
    while (curElement && curElement.tagName != "tr") {
        curElement = curElement.parentNode;
    }
    if (curElement != cb && srcElement.name != "cbxSelectAll") {
        if (cb.checked) {
            curElement.style.backgroundColor = "gold";
            rowsSelected++;
        }
        else {
            curElement.style.backgroundColor = "#eeeeee";
            rowsSelected--;
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester