Avatar billede crapman Nybegynder
22. april 2004 - 08:45 Der er 27 kommentarer og
1 løsning

Flytte værdier mellem to selects

Hejsa,
Jeg har to multiple selects, hvor man skulle vælge en værdi i den ene, og flytte den til den anden ved hjælp af to knapper... Herunder er et eksempel på den html jeg har skrevet til det....



<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr><td>

<select name="deltager1" multiple size="30">
<option name="7">Aida&nbsp;Agassi</option>
<option name="45">Anne Mette&nbsp;Kristoffersen</option>
<option name="21">Bodil&nbsp;Nyholm Sørensen</option>
</select>

</td><td>

<input type="submit" value="->"><br>
<input type="submit" value="<-"><br>

</td><td>

<select name="deltager1" multiple size="30">
<option name="1">Peter&nbsp;Rank Schrøder</option>
</select>
</td></tr>
</table>
Avatar billede fennec Nybegynder
22. april 2004 - 08:47 #1
jeg har lavet et script til det som kan ses her:
http://www.eksperten.dk/spm/491352
Avatar billede crapman Nybegynder
22. april 2004 - 08:50 #2
Takker :)
Avatar billede crapman Nybegynder
22. april 2004 - 08:55 #3
Der var jeg så for hurtig... Det virker ikke i IE på Mac OSX
Avatar billede fennec Nybegynder
22. april 2004 - 09:08 #4
hvor fejler den???
Avatar billede crapman Nybegynder
22. april 2004 - 09:09 #5
Den flytter simpelthen ingenting mellem select'ene... Nothing happens... Har lige checket på os 9x - samme problem
Avatar billede fennec Nybegynder
22. april 2004 - 09:12 #6
har du angivet de rigtige navne?? Som jeg har lavet det, skal de hedde xxxxFrom og xxxxxTo. På denne måde kan scriptet bruges til flere selects.
Avatar billede crapman Nybegynder
22. april 2004 - 09:15 #7
yups... og det virker helt fint på pc...
Avatar billede fennec Nybegynder
22. april 2004 - 09:20 #8
Får du ikke en JavaScript fejl??
Avatar billede crapman Nybegynder
22. april 2004 - 09:20 #9
Nopes.. ingenting... den foretager sig simpelthen intet
Avatar billede fennec Nybegynder
22. april 2004 - 09:30 #10
Mærkeligt. Der skulle ikke være brugt funktioner som ikke er standard fra w3. Prøv at debug med alert() for at se hvor langt den kommer i de forskellige funktioner.
Avatar billede crapman Nybegynder
22. april 2004 - 09:38 #11
Hvordan gør jeg det... er totalt tåbe til javascript
Avatar billede fennec Nybegynder
22. april 2004 - 09:43 #12
Vi starter med at flytte en. (med dobbeltklik den valgte)

function addSingle(navn) {
    alert("start")
    if (document.getElementById(navn+'From').selectedIndex >= 0) {
    alert("1")
        document.getElementById(navn+'To')[document.getElementById(navn+'To').length] = new Option(document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].text,document.getElementById(navn+'To').length);
    alert("2")
        document.getElementById(navn+'To')[document.getElementById(navn+'To').length-1].value = document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].value;
    alert("3")
        document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex]=null;
    alert("4")
    }
}

Så skulle du gerne se nogle alert bokse når du dobbeltklikker på et element i xxxFrom. Du skulle helst se: "start", "1", "2", "3" og "4"
Avatar billede crapman Nybegynder
22. april 2004 - 09:47 #13
OKay, når jeg dobbeltklikker på en, kommer "start" alert'en op and that's it... når jeg vælger en, og klikker på flytteknappen, så sker der slet intet
Avatar billede fennec Nybegynder
22. april 2004 - 10:01 #14
prøv at tilføje denne linje. og fortlæ mig så nummeret på selectedIndex. Det må være der problemet er. Vi debugger kun på dobbeltklik (i xxxFrom) i øjeblikket, så de andre sker der ikke noget ved.

function addSingle(navn) {
    alert("start")
    alert("nummer: "+ document.getElementById(navn+'From').selectedIndex)
Avatar billede crapman Nybegynder
22. april 2004 - 10:03 #15
Der sker stadig ikke mere end start alert()
Avatar billede fennec Nybegynder
22. april 2004 - 10:28 #16
kan jeg ikke lige se din kode?
Nu skulle du nemlig helst få noget i retningen af "nummer: ", "nummer: 3" eller "nummer: undefined"
Avatar billede crapman Nybegynder
22. april 2004 - 10:30 #17
Sådan.. har smidt det hele på www.wiegaarden.dk/exp/kilde.txt
Avatar billede fennec Nybegynder
22. april 2004 - 10:49 #18
prøv lige denne:

function addSingle(navn) {
    if(document.getElementById)
    {
        if (document.getElementById(navn+'From').selectedIndex >= 0) {
            document.getElementById(navn+'To')[document.getElementById(navn+'To').length] = new Option(document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].text,document.getElementById(navn+'To').length);
            document.getElementById(navn+'To')[document.getElementById(navn+'To').length-1].value = document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].value;
            document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex]=null;
        }
    }
    else
    {
        if (document.all(navn+'From').selectedIndex >= 0) {
            document.all(navn+'To')[document.all(navn+'To').length] = new Option(document.all(navn+'From')[document.all(navn+'From').selectedIndex].text,document.all(navn+'To').length);
            document.all(navn+'To')[document.all(navn+'To').length-1].value = document.all(navn+'From')[document.all(navn+'From').selectedIndex].value;
            document.all(navn+'From')[document.all(navn+'From').selectedIndex]=null;
        }
    }
   
}
Avatar billede crapman Nybegynder
22. april 2004 - 10:51 #19
Det virker stadig ikke :(
Avatar billede fennec Nybegynder
22. april 2004 - 11:00 #20
Hvilken alert ser du??

function addSingle(navn) {
    if(document.getElementById)
    {
        alert("med getElementById")
        if (document.getElementById(navn+'From').selectedIndex >= 0) {
            document.getElementById(navn+'To')[document.getElementById(navn+'To').length] = new Option(document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].text,document.getElementById(navn+'To').length);
            document.getElementById(navn+'To')[document.getElementById(navn+'To').length-1].value = document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex].value;
            document.getElementById(navn+'From')[document.getElementById(navn+'From').selectedIndex]=null;
        }
    }
    else
    {
        alert("med all")
        if (document.all(navn+'From').selectedIndex >= 0) {
            document.all(navn+'To')[document.all(navn+'To').length] = new Option(document.all(navn+'From')[document.all(navn+'From').selectedIndex].text,document.all(navn+'To').length);
            document.all(navn+'To')[document.all(navn+'To').length-1].value = document.all(navn+'From')[document.all(navn+'From').selectedIndex].value;
            document.all(navn+'From')[document.all(navn+'From').selectedIndex]=null;
        }
    }
   
}
Avatar billede crapman Nybegynder
22. april 2004 - 11:01 #21
med getElementById
Avatar billede fennec Nybegynder
22. april 2004 - 11:05 #22
virker det hvis du bare har all delen.

function addSingle(navn) {
        if (document.all(navn+'From').selectedIndex >= 0) {
            document.all(navn+'To')[document.all(navn+'To').length] = new Option(document.all(navn+'From')[document.all(navn+'From').selectedIndex].text,document.all(navn+'To').length);
            document.all(navn+'To')[document.all(navn+'To').length-1].value = document.all(navn+'From')[document.all(navn+'From').selectedIndex].value;
            document.all(navn+'From')[document.all(navn+'From').selectedIndex]=null;
        }
}
Avatar billede crapman Nybegynder
22. april 2004 - 11:09 #23
Jæs du!!! Det gør det.... dog kun ved dobbeltklik!
Avatar billede fennec Nybegynder
22. april 2004 - 11:11 #24
men så virker vist ikke i IE Windows......
Avatar billede crapman Nybegynder
22. april 2004 - 11:12 #25
argh pis... hmm kan man ikke lave noget så den viser et bestemt javascript udfra hvilken os..?
Avatar billede crapman Nybegynder
22. april 2004 - 11:13 #26
Jo, det ser faktisk ud til at virke på windows også...
Avatar billede fennec Nybegynder
22. april 2004 - 11:18 #27
Der er nogle browsers det ikke virker i, hvis jeg husker ret. Det var faktisk derfor jeg lavede den if(document.getElementById). Så skulle den bruge getElementById hvis det virkede ellers skulle den bruge all metoden. Hvorfor det ikke virkede, fatter jeg så ikke.

Du kan skifte alle document.getElementById() ud med document.all(), så skulle scriptet virke (i de browsers som kan bruge all metoden vel at mærke)
Avatar billede crapman Nybegynder
22. april 2004 - 11:19 #28
Okay... det prøver jeg... og mange 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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging