ci siamo quasi e ti ringrazio...
ma prendendo l'esempio che mi hai fornito tu come faccio a fare in modo che la seconda select appaia solo quando ho modificato la prima??
Ho provato a modificare il codice così:
ShowNazioni in modo che stampi direttamente tutta la select e non solo le option
Codice PHP:
public function ShowNazioni() { if($_POST['id_cont'] == "no") { die; } echo 'Seleziona una nazione:
'; echo '<select id="sel_nazioni" name="sel_nazioni">'; $id_cont = $_POST['id_cont']; $sql = "SELECT * FROM nazioni WHERE id_cont=$id_cont"; $res = pg_query($this->conn,$sql); echo'<option value="no">Scegli...</option>'; while($row = pg_fetch_row($res)) { echo '<option value="' . $row[0] . '">' . $row[2] . '</option>'; } echo '</select>'; }
Ho messo il div nazioni vuoto...
Codice PHP:
<div id="nazioni"> </div>
E ho modificato:
Codice PHP:
$('#sel_continenti').change(function(){ var cont = $('#sel_continenti').attr('value'); $.post("selection.php", {id_cont:cont}, function(data){ $("#sel_nazioni").empty(); $("div#result").empty(); $("#sel_nazioni").prepend(data); $("div#nazioni").prepend(data); }); });
Così la seconda select appare solo quando modifico la prima ma il result non appare più...come mai? dove sbaglio???