Avatar billede skildpadden Nybegynder
13. december 2009 - 14:39 Der er 6 kommentarer og
1 løsning

Tjek om der valgt nogen i select

Jeg mangler et javascript som tjekker om der er klikket på nogen option i en select.
Avatar billede or.han Nybegynder
13. december 2009 - 19:36 #1
Hvis den første <option> har 'value' = 0, kan du vel bare undersøge om <select>-elementets value er forskellige fra nul. Eller tænker du på en event, som bliver kaldt når man vælger en option? Så skal du vist over i onchange-eventen.
Avatar billede skildpadden Nybegynder
13. december 2009 - 20:04 #2
Kan godt se at mit spørgsmål ikke er så godt formuleret, så prøver lige igen.

Jeg har en select med en masse forskellige option's. Jeg har så et javascript function som kører på body onload. Functionen laver starter en proces alt efter hvilken option der er valgt.

Problemer er så, at når siden hentes første gang, er der ikke valgt nogen option, og jeg får derfor en fejl.

Det jeg så mangler er et script som tjekker om der er valgt nogen option - hvis der er starter den functionen, hvis der ikke er valgt nogen kommer den med en alert om at der skal vælges en option.
Avatar billede wanze Nybegynder
14. december 2009 - 05:37 #3
Jeg har lige lavet et lynhurtigt eksempel.

[code]
<script type="text/javascript">
    function getValue() {
        var $s = document.getElementById("foo").selectedIndex;
        if($s == 0)
            alert("Intet er valgt");
        else
            alert($s+" er valgt");
    }
</script>

<select id="foo">
    <option value="0">-</option>
    <option value="1">one</option>
    <option value="2">two</option>
</select>

<input type="button" value="Press me" onclick="getValue()" />
[/code]

Håber det kan bruges.
Avatar billede wanze Nybegynder
14. december 2009 - 05:37 #4
Nå, det ville Eksperten ikke med til. Du får den bare igen så:

<script type="text/javascript">
    function getValue() {
        var $s = document.getElementById("foo").selectedIndex;
        if($s == 0)
            alert("Intet er valgt");
        else
            alert($s+" er valgt");
    }
</script>

<select id="foo">
    <option value="0">-</option>
    <option value="1">one</option>
    <option value="2">two</option>
</select>

<input type="button" value="Press me" onclick="getValue()" />
Avatar billede skildpadden Nybegynder
14. december 2009 - 08:08 #5
wanze: Vil dit script ikke kræve at den første option er valgt?
Avatar billede or.han Nybegynder
14. december 2009 - 16:16 #6
skildpadden>> Det ville være nemmere at finde fejlen i dit script, hvis du viste det.

Jeg har lavet lidt om på wanzes script, så den kører ved window.onload:

window.onload = function() {
    var select = document.getElementById('foo');

    if (select) {
        if (select.selectedIndex != 0) {
            // Her skal der være det script, som skal afvikles, når brugeren har valgt noget fra listen
        } else {
            alert('Vælg noget fra listen!');
        }
    }
};
Avatar billede wanze Nybegynder
14. december 2009 - 17:55 #7
skildpadden: Jo, det vil der. Hvis der ikke er valgt nogen, så vil document.getElementById("foo").selectedIndex være -1.
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