In een ajax-applicatie die ik maak worden gevonden stations (uit een eerdere query) achter elkaar in een tekstvak geplaatst met deze code:
function handleHttpResponse()
{
if (http.readyState == 4)
{
document.getElementById('stations').value = http.responseText;
}
}

...

<input type="text" name="stations" id="stations" style="width:300px;" />

Ik wil ze graag in een listbox hebben ipv een tekstvak. Weet iemand hoe?
document.getElementById('stations').value += '\n' + http.responseText;

Op deze manier wordt het onder elkaar gezet lijkt me.
Dan zal je die lijst moeten opbouwen met Javascript (daar komt bijvoorbeeld het XML-gedeelte van AJAX kijken), of je moet het hele ding in HTML echo-en in je PHP script en dit met innerHTML in een DIV gooien, maar dat is een erg vieze oplossing.
Probeer eens wat en ga met <select> en <option> aan de slag. Zorg er voor dat je de name en id gelijk houdt, het stukje Javascript verwijst naar 'stations'.
Ik denk dat 'ie wel snapt hoe je een selectbox maakt maar hoe je gegevens dynamisch inlaadt met Javascript (AJAX) zal de vraag zijn, toch?
Het is inderdaad mijn vraag hoe de gegevens dynamisch in de listbox worden gezet. Nu wordt het allemaal netjes achter elkaar in een tekstvak gezet, maar het moet in een listbox.
Met JavaScript kun je in ieder geval zo een aantal options genereren:

var select = document.getElementById('my_select');
var option;
for (i = 0; i < zoveel; i++) {
	option = document.createElement("OPTION");
	option.text = 'blabla';
	option.value = i;
	select.add(option);
}

Reageren