Avatar billede hite Nybegynder
10. august 2005 - 21:05 Der er 6 kommentarer og
1 løsning

onChange problem

Hej eksperter.

Jeg har sat noget php-kode til at generere følgende select-element i en form:

<select name="select" size="17">
<option onClick="update('Spinat', 'Grønt', '4 stk', 'MereSpinatInfo'">Spinat</option>

<option onClick="update('Brocoli', 'Grønt-Gult', '1 stk', 'MereBrocoliInfo'">Brocoli</option>
</select>

hvor det selvfølgelig er indholdet af onClick attributten som er vigtig. update metoden er ikke så vigtig.

Dette virker ganske udemærket, så når jeg klikker på Brocoli i listen kan jeg se effekten af update kaldet. Men jeg vil gerne på en måde have dette til at virke når man bruger keyboardet til at vælge i listen. Jeg har læst om at man kan lave en onChange attribut på select-tag'et, men jeg kan ikke få det til at virke. Det virker heller ikke rigtigt hvis man istedet for onClick i option-tag'et bruger onKeyPress, hvilket ellers var min ide.

Hvis nogen har en god ide sætter jeg pris på det.
Avatar billede nielle Nybegynder
10. august 2005 - 21:11 #1
Virker fint både med mus og keyboard:

<script type="text/javascript">
function update(selectValue)
{
    alert("update: " + selectValue);
}
</script>

<select onChange="update(this.value);">
<option value="o1">OPTION 1</option>
<option value="o2">OPTION 2</option>
<option value="o3">OPTION 3</option>
<option value="o4">OPTION 4</option>
</select>
Avatar billede hite Nybegynder
10. august 2005 - 21:12 #2
Jup .. problemet er bare at jeg har flere parametre til update. Og der er kun en value-tag
Avatar billede hite Nybegynder
10. august 2005 - 21:12 #3
ikke tag .. sludder attribut
Avatar billede nielle Nybegynder
10. august 2005 - 21:21 #4
Dette kan f.eks. klares sådan her:

<script type="text/javascript">
function update(selectValue)
{
    var selectValueArr = selectValue.split(",");
    alert("Type: " + selectValueArr[0] + ", Farve: " + selectValueArr[1]);
}
</script>

<select onChange="update(this.value);">
<option value="Spinat,Grønt,4 stk,MereSpinatInfo">Spinat</option>
<option value="Brocoli,Grønt-Gult,1 stk,MereBrocoliInfo">Brocoli</option>
<option value="o1,x">OPTION 1</option>
<option value="o2,x">OPTION 2</option>
<option value="o3,x">OPTION 3</option>
<option value="o4,x">OPTION 4</option>
</select>
Avatar billede hite Nybegynder
11. august 2005 - 12:42 #5
Meget smukt. Jeg brugte dog !,! istedet for bare , fordi der kunne godt være kommaer som dele af mine parametre. Men det virker nu, og kan ses under "Mad og mad" på www.morgengry.dk. Svarer du?
Avatar billede nielle Nybegynder
11. august 2005 - 18:02 #6
Hvis komma var et dårligt valg, ville jeg nok selv have valgt at bruge ; eller |. Men sådan er vi jo heldigvis så forskellige. :^)

... og et svar. :)
Avatar billede hite Nybegynder
11. august 2005 - 19:27 #7
Brugerne er i dette tilfælde dybt utilregnelige, og kunne snildt finde på at bruge begge =D Tak for hjælpen
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