Avatar billede intel4004 Novice
30. august 2002 - 17:08 Der er 8 kommentarer og
1 løsning

valgt option i select -> vis tekst

Jeg har en select med nogle option elementer. Hvergang jeg vælger et af disse options, skal der vise sig noget tekst på siden, gerne lige under select-boxen. Dette skal vel og mærke ske lige når man har valgt option-elementet og ikke efter man har trykket på en knap.

Mon dette er muligt?

Intel4004
Avatar billede medions Nybegynder
30. august 2002 - 17:11 #1
Her har du scriptet ;o)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
    ** Alle rettigheder og alt det plader er berettiget YoungShopper.com
    ** Copyright (c) Rune Nielsen & Poul Erik Rasmusen 2002
    ** Hehe hvad man dog kan skrive af finesser :-)
-->
<html>
<head>
    <title>Untitled</title>
</head>

<body>

<script language="JavaScript">
        function ShowNumber() {
            //Finder "id'en" så den kan vælges senere
            SelIndex = document.form1.users.selectedIndex;
            //Her bruges "id'en" til at finde den korrekte option
            ShowID = document.form1.users.options[SelIndex].value;
            //Her udskrives scriptet så endelig til inputboxen
            ShowPhonenumber = document.form1.number.value = Phonenumber[ShowID];
        }
       
        User = Array()
        User[0] = "Telefonbog";
        User[1] = "Rune Nielsen";
        User[2] = "Jesper Nielsen";
        User[3] = "Ralph Kjeldsen";
       
        Phonenumber = Array()
        Phonenumber[0] = "";
        Phonenumber[1] = 22222222;
        Phonenumber[2] = 22222222;
        Phonenumber[3] = 22222222;
       
        ID = Array()
        //Laver et ID for hvert telefonnummer der er
        for (i = 0; i < Phonenumber.length; ++i) {
        ID[i] = i;
        }
</script>

<form name="form1">
<select name="users" onChange="ShowNumber();">
<script language="JavaScript">
        //Udskriver en option for hvert telefonnummer der er
        for (i = 0; i < Phonenumber.length; i++) {
            //Hvis løkken er = 0 så skal den lave en selected på option'en (en overskrift)
            if (ID[i] == 0) {
                document.write("<option selected value='" + ID[i] + "'>" + User[i]);
            }
            else {
                document.write("<option value='" + ID[i] + "'>" + User[i]);
            }
        }
</script>
</select>
<input type="text" name="number">
</form>

</body>
</html>

//>Rune
Avatar billede intel4004 Novice
30. august 2002 - 17:16 #2
medions> mon du poste scriptet igen uden den for-løkke og arrays i java script. Jeg laver min option-elementer på akkurat samme, men med en PHP for-løkke.

Dog bliver jeg hurtig forvirret over java-scripts...

Intel4004
Avatar billede medions Nybegynder
30. august 2002 - 17:18 #3
Hmm jeg forstår ikke helt hvad du mener...?

-du laver jo bare en løkke i PHP som generere Arrayet!

//>Rune
Avatar billede intel4004 Novice
30. august 2002 - 17:27 #4
ok...kigger lige på det, men det skal jo implementeres med PHP og javascript har jeg aldrig arbejdet med før(for alvor).

Hvis du samtidig er PHP nørd, kunne du så smække noget samme som fungerede med php?

Intel4004
Avatar billede medions Nybegynder
30. august 2002 - 17:28 #5
hehe, jeg er kræftig ASP nørd ;o)

//>Rune
Avatar billede jakoba Nybegynder
30. august 2002 - 17:31 #6
et lille script:

<script type='text/javascript'>

function putNy( selObj ) {
    var elm;
    if ( document.getElementById ) elm= document.getElementById('olsen');
    else
    if ( document.all ) elm = document.all['olsen'];
    else
        return; // dette duer ikke i netscape 4.
    elm.innerHTML = selObj.options[selObj.selectedIndex].text;
}

</script>

i din <select kommando tilføjes en onchange handeler
<select name="users" onChange="putNy(this);">

og der teksten skal stå laver du et lille span:
<span id='olsen'>her kommer teksten</span>

mvh JakobA
Avatar billede intel4004 Novice
30. august 2002 - 18:21 #7
Jeg prøver lige at få medions version til at fungere:

<script language="JavaScript">
    function ShowNumber() {
    //Finder "id'en" så den kan vælges senere
    SelIndex = document.selectroute.routes.selectedIndex;
    //Her bruges "id'en" til at finde den korrekte option
    ShowID = document.selectroute.routes.options[SelIndex].value;
    //Her udskrives scriptet så endelig til inputboxen
    ShowOptionelement = document.selectroute.routedata.value = Optionelement[ShowID];
    }
    Optionelement = Array()
    Optionelement[0] = "Dette er vestbanen";
    Optionelement[1] = "Dette er ikke vestbanen";
   
</script>
    <form name="selectroute" action="/nvb/index.php?i=4&InitDownload=1" method=post><select name="routes" onChange="ShowNumber();>
<option value="0">VNJ (Vestbanen)</option>
<option value="1">Speedway testbane</option>
</select><p /><input type="text" name="routedata" size="80"><p /><input type="submit" name="formsubmit" value="Start download"></form>

Jeg får syntax fejl på linie 161. Linie 161 er hvor der står </script>.

Intel4004
Avatar billede intel4004 Novice
30. august 2002 - 18:48 #8
vildt...jeg havde glemt et " efter ShowNumber(); på linie 163...

Nu virker det bare, og det er blevet implementeret med php! Tak medions!

Intel4004
Avatar billede medions Nybegynder
30. august 2002 - 18:49 #9
Anytime ;o)
Thx 4 Poinz

//>Rune
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