Avatar billede steven Nybegynder
29. december 2005 - 00:33 Der er 1 løsning

Opdatering af select boxe, hvorfor virker det ikke?

Hej,

Jeg er i gang med at kode en side (http://mongolskfilt.dk/order.php), hvor der skal være en opdatering af dropdown boxe.

På siden ses 10 rækker med dropdownboxe. Når man har valgt produkt, skal listen med farver udvides med værdier. Når man vælger farve, skal listen med størrelser udvides med værdier.

Hvorfor virker det ikke???

Her er koden:

<script type="text/javascript">
var prod_1_colour = new Array(
    new Array("4", "White"),
    new Array("5", "Black"),
    new Array("9", "Naturhvid")
);

var prod_20_colour = new Array(

);

var prod_1_colour_4_size = new Array(
    new Array("7", "36"),
    new Array("8", "37"),
    new Array("9", "38")
);

var prod_1_colour_5_size = new Array(
    new Array("9", "38")
);

var prod_1_colour_9_size = new Array(
    new Array("9", "38")
);

function change_product(obj)
{
    prodno = obj.name.substring(7);
    value  = obj.value;
    set_valuelist('colour'+prodno, 'prod_'+value+'_colour');
}
function change_colour(obj)
{
    colourno  = obj.name.substring(7);
    value    = obj.value;
    prodvalue = ['product'+colourno].value;
    set_valuelist('colour'+colourno, 'prod_'+prodvalue+'_colour_'+value+'_size');
}
function set_valuelist(objname, arrayname)
{
    obj = eval(document.objname);
    array = eval(arrayname);
    for(n = 0; n < array.length; n++) {
        obj.options[n].text  = array[n][1];
        obj.options[n].value = array[n][0];
    }
}
</script>

Det er højst sandsynligt funktionen "set_valuelist" der skal pilles lidt ved.

Håber I kan hjælpe!

Mvh, Steven
Avatar billede steven Nybegynder
29. december 2005 - 09:39 #1
Har selv løst problemet.

Funktionen "set_valuelist" skal ændres til dette for at få det til at virke:

function set_valuelist(objname, arrayname)
{
    array = eval(arrayname);
   
    document.getElementById(objname).options[0].value = "";
    document.getElementById(objname).options[0].text  = "Select";

    for(n = 0; n < array.length; n++) {
        document.getElementById(objname).options[n+1] = new Option(array[n][1],array[n][0]);
    }
}

/Steven
www.mountfield.dk
www.mongolskfilt.dk
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