Ho una select, popolata dinamicamente via PHP, che in base alla selezione mostra un'altra select, a sua volta popolata dinamicamente, sempre via PHP.
Il passaggio dalla prima alla seconda select avviene via AJAX (+PHP).
Questo è il codice della prima select:
Il problema è che, invece di trasmettere il valore della option, trasmette - letteralmente - this.options[this.selectedIndex].Codice PHP:
<select name="htl" id="htl" style="font-size:12px;" onchange="javascript:sndReq('this.options[this.selectedIndex]')">
<option value="null">selezionare</option><?PHP
$empty= ""; $result = mysql_query("SELECT * FROM `offerte` WHERE `tit_it` != '$empty' GROUP BY `id_hotel`"); while ($row = mysql_fetch_array($result)) {
echo "<option value=\"" . $row["id_hotel"] . "\">" . $row["nome_hotel"] . "</option>"; }
?></select>
La pagina PHP che riceve la request, di conseguenza, non può popolare la seconda select, perché priva del valore necessario ad effettuare la query.
Che il valore passato sia quello (this.options[this.selectedIndex]), lo ricavo facendo un echo del valore appena passato.
![]()
Non riesco proprio a capire... dovrebbe essere tutto corretto...
Tra l'altro (), dapprima funzionava... poi mi sono accorto che nel db c'era un dato con un valore mancante, e quindi l'ho rimosso dal database; al test successivo della pagina non andava più... eppure, non ho apportato (almeno consapevolmente) alcuna modifica!
![]()