Avatar billede technodance.dk Nybegynder
23. maj 2004 - 15:19 Der er 11 kommentarer og
1 løsning

roenving > kan du hjælpe mig med dit script

hej ...

jeg har dit om select box

jeg vil høre om du ikke kan lave det så jeg kun de af dem

i koden så jeg ikke kan vælge den 3.
Avatar billede roenving Novice
23. maj 2004 - 15:27 #1
<!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)","2. valg 2 (1)","2. valg 3 (1)"]],
    ["Valg 2",
        ["2. valg 1 (2)","2. valg 2 (2)","2. valg 3 (2)","2. valg 4 (2)"]],
    ["Valg 3",
        ["2. valg 1 (3)","2. valg 2 (3)","2. valg 3 (3)","2. valg 4 (3)","2. valg 5 (3)"]]
];
//alert(arr1[1][1])
function initSels(){
    createOpts(document.getElementById('sel1'));
}

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 onload="initSels()">
<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></form>
</body>
</html>
Avatar billede technodance.dk Nybegynder
23. maj 2004 - 15:31 #2
det er nice svar lige gang
Avatar billede roenving Novice
23. maj 2004 - 15:35 #3
Velbekomme '-)
Avatar billede technodance.dk Nybegynder
23. maj 2004 - 15:48 #4
roenving >> hvordan lave jeg så den første viser nummer to ved noget er valgt
Avatar billede roenving Novice
23. maj 2004 - 15:58 #5
<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');this.form.sel2.style.display=(this.selectedIndex>0)?'inline':'none';">
<option value="" selected>Vis alle</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel2" id="sel2" style="display:none;">
<option value="" selected
>&lt;-- Vælg --</option>

</select>
</form>
Avatar billede technodance.dk Nybegynder
23. maj 2004 - 16:19 #6
hvordan for jeg den til at hedder noget anden i hver select isted for der stå vælg som det første har prøvet men for det til at stå i begge to
Avatar billede roenving Novice
23. maj 2004 - 16:39 #7
Hvad vil du have ?-)
Avatar billede technodance.dk Nybegynder
23. maj 2004 - 16:45 #8
der stå de begge: Vælge jeg kunne godt tænke mig at der stå "database" i den første og "tabel" i nummer to
Avatar billede technodance.dk Nybegynder
23. maj 2004 - 16:46 #9
som standart
Avatar billede roenving Novice
23. maj 2004 - 17:03 #10
Hrmm ...

Det passede dårligt ind i min rekursive model, men med lidt fiflen:

<!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)","2. valg 2 (1)","2. valg 3 (1)"]],
    ["Valg 2",
        ["2. valg 1 (2)","2. valg 2 (2)","2. valg 3 (2)","2. valg 4 (2)"]],
    ["Valg 3",
        ["2. valg 1 (3)","2. valg 2 (3)","2. valg 3 (3)","2. valg 4 (3)","2. valg 5 (3)"]]
];
//alert(arr1[1][1])
function initSels(){
    createOpts(document.getElementById('sel1'));
}

var def = null;
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;
        def = s[0];
    }
    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 = "Tabel";
        }
        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 = (def==null)?"Database":"Tabel";
    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 = "Tabel";
        }
    }
}
</script>
</head>

<body onload="initSels()">
<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>Database</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="sel2" id="sel2">
<option value="" selected>Tabel</option>

</select></form>
</body>
</html>
Avatar billede roenving Novice
23. maj 2004 - 17:30 #11
-- og tak for point ;~}
Avatar billede technodance.dk Nybegynder
24. maj 2004 - 04:55 #12
skriv lige hvis du giver at hjælpe mig selv om spm'et er lukket
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