Avatar billede bravo73 Nybegynder
15. oktober 2009 - 19:00 Der er 5 kommentarer

"Selected" i afhængige selects.

Hej Eksperter

I det vel efterhånden klassiske script på
http://roenving.users.whitehat.dk/WD4Selects-beta.html
kunne jeg godt bruge en fast "selected" i første boks. Dvs. ligesom man på bilbasen har "personbiler" standardmarkeret. Kan i mit tilfælde godt være hardcoded til, jf. eksemplet, "Valg 2".

Er komplet ordblind til javascript, så jeg håber lidt at en af jer guruer kan give et godt eksempel.

På forhånd tak
Klaus
Avatar billede mbm2016 Nybegynder
15. oktober 2009 - 20:23 #1
Dette skal ikke gøres i javascript man bare ren html sådan her:

<select>
<option>Valg1</option>
<option selected="selected">Valg2</option>
<option>Valg3</option>
</select>

Dvs. at det er attributten selected der styrer hvilken option der bliver valgt som standard

Håber det kan hjælpe ;)
Avatar billede bravo73 Nybegynder
15. oktober 2009 - 20:27 #2
Ja, men som du kan se i koden til siden, så bliver de enkelte linier autogenereret af et script ud fra et array. Derfor kan jeg ikke på ovennævnte måde manuelt indsætte linier.
Avatar billede mbm2016 Nybegynder
15. oktober 2009 - 20:28 #3
Eller hvis jeg misforstod spørgsmålet, så kan man da godt gøre det i javascript ved at give den "option" man vil have som standard et navn, som man derefter kan identificere og vælge ved load af siden. Her er et eksempel:

<html>
    <head>
        <title>Select med javascript</title>
        <script>
            window.onload = function()
                            {
                                document.getElementById('Selected').setAttribute("selected","selected");
                            }
        </script>
    </head>   
   
    <body>
        <select>
        <option>Valg1</option>
        <option id="Selected">Valg2</option>
        <option>Valg3</option>
        </select>
    </body>
</html>

Du skal bare placere attributten id="Selected" på den option du vil have valgt ;)
Avatar billede mbm2016 Nybegynder
15. oktober 2009 - 20:30 #4
Så har jeg stadig ikke forstået dig korrekt?

Vil du være sø at forklare prøcis hvad det er du mangler, evt. forklare hvad du mener med afhængige selects osv.
Avatar billede bravo73 Nybegynder
15. oktober 2009 - 20:38 #5
Scriptet der danner ALLE options er her, og spørgsmålet er, om man ved at identificere en option ("Valg 2"), somehow kan gøre denne selected. Måske ca. omkring <select name="sel3".......

<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('sel3'));
}

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>


<HTML>

<form name="sels" action="http://roenving.users.whitehat.dk" onsubmit="return false;">
<select name="sel3" id="sel3" onchange="createOpts(this,'sel3','sel4','sel5');">
<option value="" selected>Vis alle</option>
</select> 
<select name="sel4" id="sel4" onchange="createOpts(this,'sel3','sel4','sel5');">
<option value="" selected><-- Vælg --</option>
</select> 
<select name="sel5" id="sel5">
<option value="" selected
><-- Vælg --</option>
</select>
</form>

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