Compilazione condizionale delle opzioni di <select>

Fabrizio Fiorita

Utente Attivo
Buona sera a tutti.
Ho spesso incontrato dei form dove, alla selezione di un valore in una <select>, la <select> successiva si autocompila: ad esempio, selezionando il nome di una regione, viene resa disponibile la <select> con le province di quella regione e, selezionando la provincia, viene resa disponibile la select con i suoi comuni.
Credo che il tutto sia regolato da una semplice successione di funzioni javascript:onblur, ma mi riesce difficile inquadrare il tutto in una pagina php.
Qualcuno è in grado di darmi un piccolo esempio, che poi me lo elaboro con i miei dati?
Grazie
Fabrizio
 
ciao
a che ne so io è implicato anche ajax.
comunque se guardi tra gli articoli di mrwm (non ricordo quale ne in che sezione) c'è un articlo che riguarda regioni-province-comuni.
l'unica cosa che ricordo è che avrebbe bisogno di una aggiustatina
 
Ho trovato precedenti ed articolo da te segnalato ad un altro utente.
Adesso devo "depurare" il codice proposto nell'articolo da tutta la parte database, visto che io ho per ora solo tre Sezioni regionali da collegare rispettivamente con una, due e quattro Delegazioni e quindi mi conviene avere i dati in un foglio .inc insieme con le relative funzioni.
Grazie.
Fabrizio
 
Approfitto di questa discussione per postare un semplice esempio di select dinamica

fa uso di Jquery per la chiamata Ajax e un array PHP come base di dati

dati.php
PHP:
<?php
$province = array(
    'Chieti' => 'Abruzzo',
    'L\'Aquila' => 'Abruzzo',
    'Pescara' => 'Abruzzo',
    'Teramo' => 'Abruzzo',
    'Matera' => 'Basilicata',
    'Potenza' => 'Basilicata',
    'Catanzaro' => 'Calabria',
    'Cosenza' => 'Calabria',
    'Crotone' => 'Calabria',
    'Reggio di Calabria' => 'Calabria',
    'Vibo Valentia' => 'Calabria',
    'Avellino' => 'Campania',
    'Benevento' => 'Campania',
    'Caserta' => 'Campania',
    'Napoli' => 'Campania',
    'Salerno' => 'Campania'
);
?>
select.php
PHP:
<?php
include 'dati.php';
?>
<select id="s_province" name="province">
    <?php
    foreach ($province as $key => $value) {
        if ($_POST['reg'] == $value) {
            echo "<option value='$key'>$key</option>";
        }
    }
    ?>
</select>
pagina.php
PHP:
<?php
include 'dati.php';
?>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<select id="s_regioni" name="regioni">
    <option value="0">Scegli la regione</option>
    <?php
    $array = array_count_values($province);
    foreach ($array as $key => $value) {
        echo "<option value='$key'>$key</option>";
    }
    ?>
</select>
<span id="province">
    <select id="s_province" name="province">
        <option value="0">--</option>
    </select>
</span>
<script type="text/javascript">
    $("#s_regioni").change(function() {
        var regione = $(this).val();
        $.post("select.php", {
            reg:regione
        }, function(response) {
            $("#province").html(response);
        });
    });
</script>
è uno dei tanti modi con cui si possono creare select dinamiche
 

Discussioni simili