Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    148

    [jQuery]Popolare select dinamica

    Ciao a tutti, altro problemino..
    Sto cercando di popolare una select "zona" in base al comune scelto.
    E' più complicato di quello che credevo...almeno per me...
    allora ho cercato in rete ed ho trovato questo che ho provato ad adattarlo, ma non va..
    la parte html:
    Codice PHP:
    <form action="" method="get">

    <div class="sx2">Comune</div>
    <div class="dx"><select class="sel" name="com" id="comune"> <option value="">Qualsiasi</option>
    <?php
    require_once ("conndb.php");
    $q_comuni "SELECT DISTINCT(Comune) FROM prova3 ORDER BY Comune";
    $risult mysql_query($q_comuni) or die(mysql_error());
    while (
    $r_comuni mysql_fetch_assoc($risult)) {
        echo 
    "<option value=\""$r_comuni['Comune'] ."\">"$r_comuni['Comune'] ."</option>";
    }
    ?>
    </select></div>

    <div class="search_sx">Zona</div><div class="search_dx"><select class="sel" name="zo" id="zona"> <option value="">Qualsiasi</option>
    </select></div>
    la parte js:
    codice:
    function SelZona() {
     
        $.getJSON('zona.php', {comune:$('#comune').val()}, function(data) {
     
            var select = $('#zona');
            var options = select.attr('options');
            $('option', select).remove();
     
            $.each(data, function(index, array) {
                options[options.length] = new Option(array['zo']);
            });
     
        });
     
    }
     
    $(document).ready(function() {
     
    	SelZona();
    	$('#zona').change(function() {
    		SelZona();
    	});
     
    });
    quella php:
    Codice PHP:
    <?php
    $dsn 
    "mysql:host=localhost;dbname=[prova3]";
    $username "[nome]";
    $password "[prova]";
     
    $pdo = new PDO($dsn$username$password);
    $rows = array();
    if(isset(
    $_GET['comune'])) {
        
    $stmt $pdo->prepare("SELECT DISTINCT(Zona) FROM prova3 WHERE Comune LIKE '%".$_GET['comune']."%\'ORDER BY Zona");
        
    $stmt->execute(array($_GET['comune']));
        
    $rows $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
    echo 
    json_encode($rows);
    Purtroppo non conosco la parte php ad oggetti e non so bene cosa faccia.
    Il problema secondario, lo so almeno farlo funzionare prima!!!, è che l'option "Qualsiasi" deve rimanere, invece con la stringa $('option', select).remove(); nella funzione js cancella tutti i dati....
    Mi potreste aiutare?
    Grazie mille ciao

  2. #2
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    il json che ti ritorna dall'ajax com'è?

    si può vedere?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    148
    Come faccio a vederlo?
    Perchè non saprei come si fa...

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    puoi usare firebug che è molto utile quando si tratta di ajax

    vedi la risposta del server e il json di conseguenza,dentro la console


    altrimenti puoi fare un alert("il tuo json qui");

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.