Avatar billede Slettet bruger
23. januar 2004 - 00:46 Der er 12 kommentarer og
1 løsning

Multiselect med id

Hej Eksperter,

Jeg har nu kigget en del på roenvigs fine eksempel på hvordan man laver en select serie der afhænger af hinanden, dette virker også fint, men kan dog ikke få den til at virke så man kan have flere gange select serier på en side, hvad er hensigten for mig med den.

Derfor vil jeg høre om nogen kunne modificere den lidt så man kunne klade den med et unikt id for hver serie man vil have.

Selve det array som bliver brugt er det samme i alle de serier der skal være.

link: http://roenving.users.whitehat.dk/WD4Selects-beta.html

Håber i forstår og kan hjælpe, ellers må i jo lige spørge.

mvh.
Questis
Avatar billede nute Nybegynder
23. januar 2004 - 09:46 #1
"kan dog ikke få den til at virke" ?
- HVad er det der ikke virker ? Får du ikke roenvigs eksempel til at virke, eller får du ikke din version af den til at virke ?

"klade den med et unikt id for hver serie man vil have" ?
- Hvad er det lige du mener med dette ?

/nute
Avatar billede Slettet bruger
23. januar 2004 - 12:14 #2
1. Jeg kunne ikke få den til at virker med flere serier på en side

2. jeg mener at når funktionen kaldes, skal den kaldes med et unikt id, som fortæller hvilken specifik selectbox den skal sætte input i så den ikke gør det med alle på siden.

håber det hjalp.

mvh.
Questis
Avatar billede nute Nybegynder
23. januar 2004 - 12:32 #3
ahh... du mener at du gerne vil have  fx. dobbelt op af select "serier" ... altså fx 2 x 3 selectboxer ?!
Avatar billede Slettet bruger
23. januar 2004 - 12:40 #4
jae.... den skal kunne understøtter x antal af dem, da antallet ikke er forudbestemt, da det skal bruges dynamisk
Avatar billede roenving Novice
24. januar 2004 - 21:52 #5
Der er da ingen problemer i at have flere, du skal bare huske at der er to steder, der skal tilpasses:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Smart selects</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK HREF="style/style.css" REL="stylesheet" TYPE="text/css">
<style type="text/css">
body{padding:10px;font-family:Tahoma,Verdana,Arial,sans-serif;text-align:center;background:#EBD3E2;line-height:1.5;overflow:hidden;}
</style>

<script language="javascript" type="text/javascript">
var arr = [
    ["Valg 1",[
        ["2. valg 1 (1)",
            ["3. valg 1 (1-1)","3. valg 2 (1-1)","3. valg 3 (1-1)","3. valg 4 (1-1)"]],
        ["2. valg 2 (1)",
            ["3. valg 1 (1-2)","3. valg 2 (1-2)","3. valg 3 (1-2)"]],
        ["2. valg 3 (1)",
            ["3. valg 1 (1-3)","3. valg 2 (1-3)","3. valg 3 (1-3)","3. valg 4 (1-3)"]]]],
    ["Valg 2",[
        ["2. valg 1 (2)",
            ["3. valg 1 (2-1)","3. valg 2 (2-1)","3. valg 3 (2-1)","3. valg 4 (2-1)"]],
        ["2. valg 2 (2)",
            ["3. valg 1 (2-2)","3. valg 2 (2-2)"]],
        ["2. valg 3 (2)",
            ["3. valg 1 (2-3)","3. valg 2 (2-3)","3. valg 3 (2-3)","3. valg 4 (2-3)","3. valg 5 (2-3)","3. valg 6 (2-3)","3. valg 7 (2-3)","3. valg 8 (2-3)","3. valg 9 (2-3)","3. valg 10 (2-3)","3. valg 11 (2-3)","3. valg 12 (2-3)","3. valg 13 (2-3)","3. valg 14 (2-3)","3. valg 15 (2-3)","3. valg 16 (2-3)","3. valg 17 (2-3)","3. valg 18 (2-3)","3. valg 19 (2-3)","3. valg 20 (2-3)","3. valg 21 (2-3)"]],
        ["2. valg 4 (2)",
            ["3. valg 1 (2-4)","3. valg 2 (2-4)","3. valg 3 (2-4)","3. valg 4 (2-4)"]]]],
    ["Valg 3",[
        ["2. valg 1 (3)",
            ["3. valg 1 (3-1)","3. valg 2 (3-1)","3. valg 3 (3-1)"]],
        ["2. valg 2 (3)",
            ["3. valg 1 (3-2)","3. valg 2 (3-2)","3. valg 3 (3-2)"]],
        ["2. valg 3 (3)",
            ["3. valg 1 (3-3)","3. valg 2 (3-3)","3. valg 3 (3-3)"]],
        ["2. valg 4 (3)",
            ["3. valg 1 (3-4)","3. valg 2 (3-4)","3. valg 3 (3-4)"]],
        ["2. valg 5 (3)",
            ["3. valg 1 (3-5)","3. valg 2 (3-5)","3. valg 3 (3-5)"]]]]
];
//alert(arr1[1][1])
function initSels(){
    createOpts(document.getElementById('sel1'));
    createOpts(document.getElementById('sel3'));
    createOpts(document.getElementById('sel6'));
    createOpts(document.getElementById('sel8'));
}

function createOpts(sel){
    var s = new Array();
    var num = 0, txt = "arr";
    var ar = opt = null;
    var n = sel.selectedIndex;
    var args = createOpts.arguments.length;
    for(var i=1;args>i;i++){
        s[i-1] = document.getElementById(createOpts.arguments[i]);
        if(s[i-1]==sel)num=i;
    }
    if(args>1){
        if(s[num])sel = s[num];
        else return;
    }
    if(n==0&&args>1){
        for(i=num;args>i+1;i++){
            s[i].length = 0;
            opt = document.createElement('OPTION');
            s[i].appendChild(opt);
            opt.value = "";
            opt.text = "\74-- Vælg --";
        }
        return true
    };
    for(i=0;num>i;i++){
        txt+="["+(s[i].selectedIndex-1)+"][1]";
    }
    ar = eval(txt);
    sel.length = 0;
    opt = document.createElement('OPTION');
    sel.appendChild(opt);
  opt.value = "";
  opt.text = "-- Vælg --";
    for(i=0;ar.length>i;i++){
        opt = document.createElement('OPTION');
        sel.appendChild(opt);
        if(typeof ar[i] == 'object'){
          opt.value = ar[i][0];
          opt.text = ar[i][0];
        }else{
          opt.value = ar[i];
          opt.text = ar[i];
      }
    }
    if(args>num+2){
        for(i=num+1;args-1>i;i++){
            s[i].length = 0;
            opt = document.createElement('OPTION');
            s[i].appendChild(opt);
            opt.value = "";
            opt.text = "\74-- Vælg --";
        }
    }
}
</script>
</head>
<body style="font-size: 12px" onload="initSels()">
<h1 style="line-height: 0.8">Working demo #4 beta2</h1>
Afhængige selects<br><br>
<div style="text-align: left">

<form name="sels" action="http://roenving.users.whitehat.dk" onsubmit="return false;">
To afhængige selects:&nbsp;&nbsp;&nbsp;
<select name="sel1" id="sel1" onchange="createOpts(this,'sel1','sel2');">
<option value="" selected>Vis alle</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel2" id="sel2">
<option value="" selected
>&lt;-- Vælg --</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>

Tre afhængige selects:&nbsp;&nbsp;&nbsp;
<select name="sel3" id="sel3" onchange="createOpts(this,'sel3','sel4','sel5');">
<option value="" selected>Vis alle</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel4" id="sel4" onchange="createOpts(this,'sel3','sel4','sel5');">
<option value="" selected>&lt;-- Vælg --</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel5" id="sel5">
<option value="" selected
>&lt;-- Vælg --</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>
To afhængige selects:&nbsp;&nbsp;&nbsp;
<select name="sel6" id="sel6" onchange="createOpts(this,'sel6','sel7');">
<option value="" selected>Vis alle</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel7" id="sel7">
<option value="" selected
>&lt;-- Vælg --</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>

Tre afhængige selects:&nbsp;&nbsp;&nbsp;
<select name="sel8" id="sel8" onchange="createOpts(this,'sel8','sel9','sel10');">
<option value="" selected>Vis alle</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel9" id="sel9" onchange="createOpts(this,'sel8','sel9','sel10');">
<option value="" selected>&lt;-- Vælg --</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel10" id="sel10">
<option value="" selected
>&lt;-- Vælg --</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>
</form>
<br><br>
</div><br><br>
Pt. kan koden ses ved: <span class="i">Vis kode</span>,<br>
jeg vil snarest sørge for at den er tilgængelig kopierbar (som i de andre WD's)<br>
<span class="b">Bemærk</span>, at javascript-databasen er følsom overfor småfejl i [ / ] -erne ...
<br><br>
<h6><!-- WebWriter AutoDato -->Sidste opdatering  12.08.2003<!-- WW --></h6>
</body>
</html>
Avatar billede Slettet bruger
24. januar 2004 - 22:42 #6
tester den lig, og vender tilbage, tak indtil videre
Avatar billede Slettet bruger
24. januar 2004 - 23:02 #7
kanont, bare mig der ikke havde luret den ene parameter jeg skulle ændre ;O)

tusinde tak for hjælpen og det fine script, og hvis du så vil være venlig at smide et svar så jeg kan belønne dig for det ;O).

mvh.
Questis
Avatar billede roenving Novice
24. januar 2004 - 23:03 #8
Velbekomme '-)
Avatar billede roenving Novice
24. januar 2004 - 23:06 #9
-- og tak for points
Avatar billede Slettet bruger
24. januar 2004 - 23:36 #10
lige et hurtigt spm mere hvis det er i orden.
får alle selct bokse bare deres input som value eller er det muligt at angive en specifik value på en måde ?
Avatar billede roenving Novice
24. januar 2004 - 23:49 #11
Som jeg har lavet det, er value og tekst det samme, det kan laves anderledes uden den store smerte, men ikke meget nemt !-)
Avatar billede Slettet bruger
24. januar 2004 - 23:53 #12
okay... så må jeg fuske lidt med en funktion der kan læse de tre selectedIndex, så jeg kan sende en value til et input, men det burde også kunne lade sig gøre...

men tak for hjælpen endnu engang
Avatar billede roenving Novice
24. januar 2004 - 23:55 #13
U'r welcome ;O)
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