Avatar billede krogstrup Nybegynder
02. oktober 2007 - 14:53 Der er 1 kommentar

Problemer med script til at flytte elementer op og ned i select

Jeg bruger nedenstående javascript til at kunne rykke elementer indlæst i en SELECT box op og ned, for på den måde at kunne gemme en ny rækkefølge for nogle database elementer.

Scriptet fungerer helt perfekt - man kan rykke OPTIONS op og ned i SELECT´en og ved submit sendes ID på en måde så jeg kan arbejde videre med dem i databasen, MEN:

Scriptet har een mærkelig "bivirkning" som kun opstår i IE !
Når man aktiverer moveup eller movedown funktionen så formindskes bredden på SELECT boksen en lille smule. Dvs. at hvis man blive ved med klikke på en knap der aktiverer disse funktioner så bliver SELECT boksen bare mindre og mindre og mindre i bredden.

Jeg synes ikke rigtig det giver nogen mening. Er det en 'bug' i IE eller en fejl i koden ?
Avatar billede krogstrup Nybegynder
02. oktober 2007 - 14:53 #1
function moveup(list) {
    var daflag = false
    for (var i = 0; i <= list.options.length-1; i++) {
        if (!list[i].selected) {
            daflag = true
        }
        if (list[i].selected && daflag) {
            list.insertBefore(list[i],list[i-1])
        }
    }
}

function movedown(list) {
    var daflag = false
    for (var i = list.options.length-1; i >= 0; i--) {
        if (!list[i].selected) {
            daflag = true
        }
        if (list[i].selected && daflag) {
            list.insertBefore(list[i],list[i+2])
        }
    }
}

function submitForm() {
    var list = document.form.list;
    var theList = "&";
    var count = 0;
    for (i = 0; i <= list.options.length-1; i++) {
        count = count + 1
        theList += "ID" + list.options[i].value + "=" + count;
        if (i != list.options.length-1) theList += "&";
    }
    location.href = document.form.action + theList;
}
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