[JS] Dynamisch Vullen van DropDown

Pagina: 1
Acties:

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Ik heb een form pagina met een aantal select box deze wil ik graag vullen dmv een array die ik uit de database genereer.
code:
1
2
3
4
5
for(var i=0;i<indexPages.length;i++)
{
    document.sel['base'].options[i]=indexPages[i];
    document.sel['main'].options[i]=indexPages[i];
}

indexPages is de array die ik uit de database ontvang. En die hebben allemaal de het volgende formaat
code:
1
indexPages.push(new Option('text',value));

Als ik 1 van de twee selectboxen uitcomment gaat het goed. Maar beide geeft een probleem.

Programmer - an organism that turns coffee into software.


  • Xanthus
  • Registratie: Februari 2002
  • Laatst online: 11-07 12:45
Ik zou zo iets doen:
Als het maar om weinig dropdowns gaat kan je de options regelrecht in de html printen(serverside)
Anders zou ik een javascript functie maken die een stel selects schrijft iets van:
code:
1
2
3
4
5
function schrijfSelect() {
    for(i=0; i<lijstje.length;i++) {
    document.write("<option value="+lijstje[i][0]+">"+lijstje[i][1]+"</option>";
    }
}

en dan tussen elke dropdown:
code:
1
2
3
<script>
schrijfSelect();
</script>

Iets in die richting?

Verwijderd

1. Waarom gebruik je .push?
2. wat is de value bij new Option
3. Meer code?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Topicstarter
Op donderdag 21 februari 2002 13:03 schreef Blues het volgende:
1. Waarom gebruik je .push?
2. wat is de value bij new Option
3. Meer code?
1.
push gebruik ik omdat ik met entries van de select box aan het schuiven ben. Van Select Box A naar Select Box B.
(push, pop en shift).
2.
PHP:
1
2
3
<?
printf("indexPages.push(new Option(\"%s %s\",%d)); \n", $page['type'] &amp;amp; _SPECIAL_PAGE?"@":"",addslashes($page['title']),$page['id']);
?>

Ik maak gebruik van PHP om de select box te vullen. en value is bij mij ALTIJD een numerieke waarde die naar het de database verwijst

3.
Meer code? ermm het is nogal veel.. en "LuCarD Style" :o dat wil ik je niet aan doen (zie de regel phpcode, hoe mijn code er uit ziet :Y) ) leesbaar voor mij... |:(


ps.
Ik heb er om heen gewerkt dmv:
code:
1
document.sel['main'].options[i+1]=new Option(document.sel['base'].options[i].text,document.sel['base'].options[i].value);

Mooi is het niet.... maar het werkt goed.

Programmer - an organism that turns coffee into software.