Avatar billede dannv Nybegynder
17. maj 2004 - 14:18 Der er 10 kommentarer og
1 løsning

dynamisk select

Jeg leder efter et script som kan opfylde følgende:

- Data kommer fra et træ i databasen. Det vil sige at der er data på tre niveauer, og de skal kunne organiseres korrekt i select boxe.
- Dynamisk fylde 3 select boxe afhængig af foregående valg.
- Man skal både kunne definere 'value' og 'text' værdierne for hver option.
- Rydde valg i efterfølgende boxe, ved nyt valg.
- være cross browser funktionel (ie, netscape, firefox, opera)

Jeg har et script i forvejen, men kan ikke få det til at virke i andre browsere end ie, og mangler derfor et nyt!!

Nogen som har ovenstående ved hånden??
Avatar billede mm12010 Nybegynder
17. maj 2004 - 14:42 #1
prøv at tage en kigger her:
http://www.eksperten.dk/spm/385519
Avatar billede dannv Nybegynder
17. maj 2004 - 15:20 #2
Ja, jeg har fundet demo fra roenving, men jeg kan ikke se at den kan håndterer alt det jeg skal bruge? Det er ikke udtræk fra db der er er mit problem, det har jeg impl. i min nuværende kode, men det er dynamisk fyldning via javascript...
Avatar billede roenving Novice
17. maj 2004 - 15:25 #3
Jeg er ikke sikker på, at eagleeyes udtræk nogensinde har været brugt, men det er da et forsøg værd, hvis du bruger asp !-)
Avatar billede mm12010 Nybegynder
17. maj 2004 - 15:30 #4
Avatar billede dannv Nybegynder
17. maj 2004 - 15:34 #5
bruger ikke asp, men jsp.
Avatar billede dannv Nybegynder
17. maj 2004 - 15:34 #6
..og jeg har udtræk fra databasen liggende i en bønne, og laver så et array med de ønskede værdier på siden.
Avatar billede dannv Nybegynder
17. maj 2004 - 15:53 #7
mm12010, jeg tror ikke det er det samme problem i din reference!
Avatar billede mm12010 Nybegynder
17. maj 2004 - 15:58 #8
jeg har desværre ingen erfaringer med jsp...
Avatar billede dannv Nybegynder
17. maj 2004 - 16:03 #9
Det er heller ikke jsp delen der er mit problem, men derimod javascript...!!!
Avatar billede dannv Nybegynder
17. maj 2004 - 16:08 #10
Som nævnt skal jeg blot kunne fylde 3 javascript boxe dynamisk. Jeg har eksisterende kode som kører i ie men jeg kan ikke finde ud af at gøre det cross browser funtionel her kommer den:

function selectChange(control, controlToPopulate, ItemArray, GroupArray)
{
  var myEle ;
  var x ;
  // Empty the second drop down box of any choices
  for (var q=controlToPopulate.options.length;q>=0;q--) controlToPopulate.options[q]=null;
  if (control.name == "firstChoice")
  {
      // Empty the third drop down box of any choices
      for (var q=control.form.thirdChoice.options.length;q>=0;q--) control.form.thirdChoice.options[q] = null;
  }
  // ADD Default Choice - in case there are no values
  myEle = document.createElement("option") ;
  myEle.value = 0 ;
  myEle.text = "[SELECT]" ;
  controlToPopulate.add(myEle);
  // Now loop through the array of individual items
  // Any containing the same child id are added to
  // the second dropdown box
  for ( x = 0; x < ItemArray.length; x++ )
    {
      if(control.name == "firstChoice")
      {
        if ( arrItemsLocID1[x] == control.value )
          {
            myEle = document.createElement("option") ;
            myEle.value = GroupArray[x];
            myEle.text = ItemArray[x] ;
            controlToPopulate.add(myEle) ;
          }
      }

      if(control.name == "secondChoice")
      {
        if ( arrItemsLocID2[x] == control.value )
          {
            myEle = document.createElement("option") ;
            myEle.value = GroupArray[x];
            myEle.text = ItemArray[x] ;
            controlToPopulate.add(myEle) ;
          }
      }
    }
}

Jeg har så 3 arrays til hhv select nr. 2 og 3, med de værdier jeg skal bruge til at sætte ind, og den 1. select fyldes direkte i html's body.
Avatar billede dannv Nybegynder
18. maj 2004 - 12:06 #11
har fundet ud af sagen... (næsten) controlToPopulate.add(MyEle) virker kun i ie men i mozilla hedder det appendChild(MyEle).
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