Avatar billede mortency Nybegynder
10. september 2004 - 13:42 Der er 3 kommentarer og
1 løsning

Modifisere script til value og innhold i select box

//Roenving

Et spørsmål ang scriptet ditt. Er det mulig å ha en annen tekst enn value?
Mener når du velger rektor|prorektor så ser man kun rektor og på valg (sel2) så skal
man se "Ingen underavdeling" men value skal være "tom"

Håper du forstod dette. Skal gi deg point for dette også.

Eks:

var arr = [
    ["Rektor|Rector","Sees i select",[
        ["tom|tom","Sees i select",[]]],

Kan dette gå eller er det en annen måte å gjøre det på?

<!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 = [
    ["Rektor|Rector",[
        ["tom|tom",]]],
    ["Prorektor|Prorector",[
        ["tom|tom",]]],
    ["Administrerende direktør|Director General",[
        ["tom|tom",]]],
    ["Sekretariatet|Administration Office",[
        ["tom|tom",]]],
    ["Informasjonsavdelingen|Communications Department",[
        ["tom|tom",]]],
    ["Økonomi- og personalavdelingen|Department of Finances and Human Resources",[
        ["tom|tom",]]],
    ["IT-avdelingen|IT Department",[
        ["tom|tom",]]], 
    ["Studie- og forskningsadministrativ avdeling|Department of Academic Affairs and Research Administration",[
        ["tom|tom",]]],
    ["Teknisk avdeling|Technical Department",[
        ["tom|tom",]]], 
                                                                   
    ["BÅTER",[
        ["2. Velg 1mmmm (2)",],
        ["2. Velg 2mmmm (2)",],
        ["2. Velg 3mmmm (2)",],
        ["2. Velg 4 mmmm(2)",]]]
];
//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-- Velg --";
        }
        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 = "-- Velg --";
    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-- Velg --";
        }
    }
}
</script>
</head>
<body style="FONT-SIZE: 12px" onload="initSels()">
<h1 style="LINE-HEIGHT: 0.8"><br>
  <br>
</h1>
<div style="TEXT-ALIGN: left">


<form method="get" action="select2.asp" name="sels" id="sels">
<table width="640" border="0" cellspacing="1" cellpadding="2" bgcolor="999999">
<tr bgcolor="#EEEEEE" height="16">
  <td class="xptextrap" width="120">&nbsp;Institutt:</td>
  <td class="xptextrap"width="520">&nbsp;
    <select name="sel1" onchange="createOpts(this,'sel1','sel2');s=this.selectedIndex;v=this.value.split('|');this.options[s].value=v[0];this.form.txtInstENG.value=v[1];" class="formtxtfield" style="WIDTH: 322px;">
        <option value="" selected>Vis alle</option>
    </select>
    <input id="txtInstENG" name="txtInstENG" value="">             
  </td>
</tr>           
<tr bgcolor="#FFFFFF" height="16">
  <td class="xptextrap">&nbsp;Avdeling:</td>
  <td class="xptextrap">&nbsp;
    <select name="sel2" onchange="s=this.selectedIndex;v=this.value.split('|');this.options[s].value=v[0];this.form.txtDepartmentENG.value=v[1];" class="formtxtfield" style="WIDTH: 322px;">
        <option value="" selected>&lt;-- Velg --</option>
    </select>
    <input id="txtDepartmentENG" name="txtDepartmentENG" value=" class="formtxtfield">
  </td>
</tr>
<tr>
    <td><input type="submit" value="SEND" id=submit2 name=submit2></td>
</tr>
</table>
</form>

</body>
</html>
Avatar billede roenving Novice
11. september 2004 - 01:34 #1
Det handler om at splitte værdien, når man skal sætte teksten, så et par linjer skal ændres:

  opt.text = "-- Velg --";
    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].split("|")[0];
        }else{
          opt.value = ar[i];
          opt.text = ar[i].split("|")[0];
      }
    }
    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-- Velg --";
        }
    }
}
</script>

-- som du forhåbentli kan se er det slutningen af scriptet, og jeg har så ikke testet det, men det burde ikke give problemer, såvidt jeg kan gennemskue !-)
Avatar billede mortency Nybegynder
05. oktober 2004 - 10:30 #2
Post et svar!
Avatar billede roenving Novice
05. oktober 2004 - 10:34 #3
Velbekomme '-)
Avatar billede roenving Novice
13. oktober 2004 - 14:49 #4
-- og tak for point ;~}
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