Avatar billede netbegynder Nybegynder
18. maj 2002 - 13:00 Der er 1 kommentar og
2 løsninger

Menu-valg som afspejles i en anden menu

Hejsa

Jeg er ved at lave en side med to dropdown-menuer på, hvor man i en første dropdown-menu vælger en sektion (svarende til en katagori), og når man har gjort dette, fyldes den anden menu ud med de punkter (sektionnr), som denne sektion indeholder.

Scriptet, som fra starten udfylder den første menu, ser således ud:

    for (var i = 1;i < gruppe[1].length; i++) {
          document.Artikel.artikel.options[i-1] = new Option( gruppe[1][i].titel, gruppe[1][i].sektionnr );
    }

Ved udfyldningen af den første menu er der ikke tale om nogen sortering, hvilket ikke er tilfældet ved udfyldning af den anden menu, som skal vise de elementer, som den valgte sektion (den første menu)indeholder.

Så det script, som jeg meget gerne vil have lidt hjælp til, skal gøre følgende:

Tag de elementer fra arrayen "gruppe[2]", som har det samme "sektionnr", som er blevet valgt i den første menu, og smid dem ind i den anden menu.

*************
Hvis det skulle have nogen interesse, så er obekterne således ud:

var gruppe = new Array();
gruppe[1] = new Array();
gruppe[2] = new Array();
gruppe[3] = new Array();

function artikel(titel, forfatter, beskrivelse, filnavn, sektionnr, emnenr) {
  this.titel= titel;
  this.forfatter= forfatter;
  this.beskrivelse= beskrivelse;
  this.filnavn= filnavn;
  this.sektionnr= emnenr;
}

function sektion(sektionnr, titel) {

  this.sektionnr= sektionnr;
  this.titel= titel;

}

function emne(emnenr, titel, farve, placering, niveau) {
  this.emnenr= emnenr;
  this.titel= titel;
  this.farve= farve;
  this.placering= placering;
  this.niveau= niveau;
}
Avatar billede jakoba Nybegynder
18. maj 2002 - 13:03 #1
nemmest hvis du bruger en <select til menuerne:
http://www.jakoba.dk/eksperten/exp145986.html
Avatar billede trumf Nybegynder
20. maj 2002 - 02:23 #2
<SCRIPT LANGUAGE="JavaScript">
<!--
    function update() {
      kont = document.form1.select1.selectedIndex;
      valg = document.form1.select1.options[kont].value;

      if (valg == "valg1")
          {document.form1.select2.options[0].text = "Mad";
          document.form1.select2.options[0].value = "Mad";
          document.form1.select2.options[1].text = "Vin";
          document.form1.select2.options[1].value = "Vin";
          document.form1.select2.options[2].text = "Kvinder";
          document.form1.select2.options[2].value = "Kvinder";
          }
      if (valg == "valg2")
          {document.form1.select2.options[0].text = "Hof";
          document.form1.select2.options[0].value = "Hof";
          document.form1.select2.options[1].text = "Tuborg";
          document.form1.select2.options[1].value = "Tuborg";
          document.form1.select2.options[2].text = "";
          document.form1.select2.options[2].value = "";
          }
    }
//-->
</SCRIPT>

        <SELECT name="select1" onChange="update();">
        <OPTION VALUE="">Vælg:</OPTION>
        <OPTION VALUE="valg1">valg1</OPTION>
        <OPTION VALUE="valg2">valg2</OPTION>
        </SELECT>

        <SELECT name="select2">
        <OPTION VALUE="">Vælg</OPTION>
        <OPTION VALUE="">den anden</OPTION>
        <OPTION VALUE="">først!</OPTION>
        </SELECT>

Du skal bare altid huske at der skal være lige mange options i select2 og i de valgmuligheder der er i JS. Ulempen ved dette er, at der kan komme tomme options i nogle af valgmulighederne.
Avatar billede trumf Nybegynder
20. maj 2002 - 02:25 #3
Det var vist et svar og ikke en kommentar..
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