Ciao a tutti, premetto che sono una neofita in php, jquery, javascript, tutto!
Sto creando una serie di select concatenate Regione ->provincia->comune e così via. Sono al livello provincia->comune e la select (che si popola da un DB) funziona: quando seleziono una provincia la seconda si popola coi suoi comuni. Il problema sorge quando modifico la provincia (dopo aver già effettuato una prima chiamata): il console.log mi mostra che il viene chiamato un nuovo json corretto (coi nuovi comuni della nuova provincia selezionata) ma non riesco ad aggiornare la lista che mi viene stampata a schermo (che resta ferma alla prima selezione provinciale che ho fatto). So che l'argomento è stato trattato molto ma non sono riuscita a trovare una discussione con questo specifico problema, mi scuso se quindi il thread è ripetitivo.
Grazie a tutti
Posto il codice:
index.php
estraicomune.php (estraiprovincia non lo posto ma è pressocchè identico)
Sto creando una serie di select concatenate Regione ->provincia->comune e così via. Sono al livello provincia->comune e la select (che si popola da un DB) funziona: quando seleziono una provincia la seconda si popola coi suoi comuni. Il problema sorge quando modifico la provincia (dopo aver già effettuato una prima chiamata): il console.log mi mostra che il viene chiamato un nuovo json corretto (coi nuovi comuni della nuova provincia selezionata) ma non riesco ad aggiornare la lista che mi viene stampata a schermo (che resta ferma alla prima selezione provinciale che ho fatto). So che l'argomento è stato trattato molto ma non sono riuscita a trovare una discussione con questo specifico problema, mi scuso se quindi il thread è ripetitivo.
Grazie a tutti
Posto il codice:
index.php
Codice:
<!DOCTYPE html>
<html>
<select id="scegliprovincia"></select>
<select id="sceglicomune"></select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
type:"POST",
url:"estraiprovincia.php",
//data:{"nuovo_indirizzo":miocomune},
success: function(response){
console.log(response);
riempiselect(response,"scegliprovincia","dsxdpt");
}
});
$("#scegliprovincia").change(function() {
$.ajax({
type:"POST",
url:"estraicomune.php",
data:{ "select" : $('#scegliprovincia').val()},
success: function(response){
riempiselect(response,"sceglicomune","dsxcnl");
}
});
});
});
function riempiselect(nome_json,nome_select, info) {
var jparsed=JSON.parse(nome_json);
$("#"+nome_select).append("<option>"+"Effettua una scelta"+"</option>");
for (chiave in jparsed) {
$("#"+nome_select).append("<option>"+jparsed[chiave][info]+"</option>");
}
}
</script>
</html>
estraicomune.php (estraiprovincia non lo posto ma è pressocchè identico)
PHP:
<?php
include("function/connessione.php");
$provincia= $_POST['select'];
$i=$con->query("select distinct dsxcnl from molise_prova where dsxdpt='$provincia' order by dsxcnl");
$row=$i->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($row);
?>