login  Naam:   Wachtwoord: 
Registreer je!
 Forum

wat is getElementById.value voor een listbox?

Offline yolk - 12/09/2006 12:47
Avatar van yolkHTML interesse Tekst uit een database zet ik in een div met:
  1. document.getElementById('stations').innerHTML = xmlhttp.responseText;


Maar hoe kan ik de resultaten in een listbox zetten? Ik heb het geprobeerd met "document.getElementById('stations').value = xmlhttp.responseText;" maar dit lukte niet.
De listbox ziet er zo uit:
  1. <select id="stations" name="stations" size="10" multiple="multiple">
  2. <option> -- Select criteria --
  3. </select>

9 antwoorden

Gesponsorde links
Offline Thomas - 12/09/2006 12:49
Avatar van Thomas Moderator Dan moet je eerst de juiste index van de te selecteren option vinden, en deze dan selecteren?
Offline yolk - 12/09/2006 12:52
Avatar van yolk HTML interesse euh... wat?

er hoeft niks geselecteerd te worden, de resultaten van de database moeten in de box worden getoond.
Offline Gerard - 12/09/2006 12:54
Avatar van Gerard Ouwe rakker Laat dan gewoon de hele select box door je php file genereren, en zet die zooi dan in de div.
Offline yolk - 12/09/2006 14:24
Avatar van yolk HTML interesse Ja, dat zou kunnen. Maar de opdrachtgever wil dat het zonder page-refresh gebeurt.
Weet iemand hoe het met javascript kan?
Offline Gerard - 12/09/2006 14:45
Avatar van Gerard Ouwe rakker Je kan de php pagina toch gewoon aanroepen met een XMLHttpRequest en de php pagina je hele <select></select> laten aanmaken. Deze plant je dan in de InnerHTML van de div.
Offline yolk - 12/09/2006 14:57
Avatar van yolk HTML interesse maar er zijn drie listboxen waar een gebruiker uit kan kiezen. Dus voor elke listbox moet de pagina worden herladen toch? Of kan dat ook zonder?
Offline Gerard - 12/09/2006 15:07
Avatar van Gerard Ouwe rakker Is de bedoeling van XMLHttpRequests juist niet om dat refreshen te vervangen. Probeer daar gewoon goed gebruik van te maken.
Offline yolk - 12/09/2006 16:37 (laatste wijziging 12/09/2006 17:31)
Avatar van yolk HTML interesse Dat is dus de vraag  
Het php-gedeelte is gelukt, maar nu dus hoe het javascript-gedeelte eruit moet zien. Ik denk dat je iets van een teller moet hebben en een lus ofzo?

Edit:
====
Ok, ik heb alles BIJNA werkend. De resultaten van de database worden mooi in de listbox getoond. Maar... ieder teken op een aparte regel. Zo wordt bij Angel FM bijv. iedere letter op een nieuwe regel geplaatst. Hoe kun je de woorden bij elkaar houden?

Dit is het javascript dat de array genereert:
  1. selected_genre = document.getElementById('genre').value;
  2. xmlhttp.open("GET", "list.php?php_genre="+selected_genre,true);
  3.  
  4. xmlhttp.onreadystatechange=function()
  5. {
  6. if (xmlhttp.readyState==4)
  7. {
  8. var month = xmlhttp.responseText;
  9. for (var i=0; i < month.length;++i)
  10. {
  11. addOption(document.getElementById('selected_stations'), month[i], month[i]);
  12. }
  13. }
  14. }


Dit is de php-lus die daaraan vooraf gaat:
  1. {
  2. $name_stations[] = $bitje;
  3. echo $name_stations[$i];
  4. $i++;
  5. }
Offline bosgroen - 09/10/2006 16:22
Avatar van bosgroen Gouden medaille

PHP interesse
tja, dit is duidelijk dom-scripting, een beetje tutorials zoeken met dom-scripting.

voor ieder array-element new Option doen, de inhoud/value erin zetten en dan toevoegen aan de select met addSibling bijvoorbeeld
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s