• User

    select concatenata problema

    ciao non riesco a rendere lo script dinamico con i dati presi da db, la select categoria funzione è solo la select sottocategoria che rimane vuota. Non riesco a contattare lo sviluppatore per chiedergli come fare, per favore aiutatemi voi. Grazie mille.

    SCRIPT ORIGINALE:

    <script src="jquery.min.js"></script> <script type="text/javascript">
    function riempiSelect(){
    var $select = $('#sub_category');
    $select.find('option').remove();
    if($('#root_category').val() != '#'){
    $.getJSON( 'select.php', {
    root_category: $('#root_category').val()
    }
     )
    .done(function( data ) {
    $.each( data, function( key, value ) {
    $('<option>').val(key).text(value).appendTo($select);
    });
    });
    }
    }
    </script>

    <form name="modulo" id="idModulo" method="post" action="action.php">
    Scegli la regione:
    <select name="root_category" id="root_category" onChange="riempiSelect();">
    <option value="#">Selezionare</option>
    <option value="piemonte">Piemonte</option>
    <option value="valle_d_aosta">Valle d'Aosta</option>
    <option value="lombardia">Lombardia</option>
    </select>
    <br /> <br />
    Qui appariranno le province:<select name="sub_category" id="sub_category"></select>
    </form>

    PAGINA SELECT:

    <?php
    $elenco_province = array();
    $elenco_province['piemonte'] = array('TO'=>'Torino','VC'=>'Vercelli','NO'=>'Novara','CN'=>'Cuneo','AT'=>'Asti','AL'=>'Alessandria','BI'=>'Biella','VB'=>'Verbano-Cusio-Ossola');
    $elenco_province['valle_d_aosta'] = array('AO'=>'Valle d'Aosta');
    $elenco_province['lombardia'] = array('VA'=>'Varese','CO'=>'Como','SO'=>'Sondrio','MI'=>'Milano','BG'=>'Bergamo','BS'=>'Brescia','PV'=>'Pavia','CR'=>'Cremona','MN'=>'Mantova','LC'=>'Lecco','LO'=>'Lodi','MB'=>'Monza e della Brianza');
    echo json_encode($elenco_province[$_GET['root_category']]);
    ?>

    xxxxxxxxxxxxxxxxxxx

    javascript non l'ho modificato

    ho modificato solo il php

    SCRIPT MODIFICATO DA ME CHE NON FUNZIONA:

    <form name="modulo" id="idModulo" method="post" action="<?=$PHP_SELF?>">
    Scegli la regione:
    <select name="root_category" id="root_category" onChange="riempiSelect();">
    <option value="#">Selezionare</option>
    <?php
    $query_categoria = "SELECT * FROM c_art_categoria
    WHERE id_art_categoria != 8
    AND id_art_categoria != 13
    AND id_art_categoria != 14
    ORDER BY nome_categoria_it";
    $result_categoria = mysql_query($query_categoria, $conn) or die (mysql_error() );

    while($row_categoria = mysql_fetch_array($result_categoria)) {
    ?>
    <option value="<?=$row_categoria['id_art_categoria']?>">
    <?=strtoupper($row_categoria['nome_categoria_it']);?>
    </option>
    <?
    }
    ?>
    </select>
    <br /> <br />
    Qui appariranno le province:<select name="sub_category" id="sub_category"></select>
    </form>

    PAGINA SELECT:

    <?php
    $query_sottocategoria = "SELECT * FROM c_art_sottocategoria
    WHERE id_art_categoria2 = ".$row_categoria['id_art_categoria']."
    AND c_art_sottocategoria.id_art_sottocategoria != '85'
    ORDER BY nome_sottocategoria_it ASC";
    $result_sottocategoria = mysql_query($query_sottocategoria, $conn) or die (mysql_error() );

    $row_sottocategoria = mysql_fetch_array($result_sottocategoria);

    $elenco_sottocategorie = array();
    $elenco_sottocategorie[$row_categoria['nome_categoria_it']] = array($row_sottocategoria['nome_sottocategoria_it']);
    echo json_encode($elenco_sottocategorie[$_GET['root_category']]);
    

    ?>


  • User Attivo

    Ciao,
    dai un'occhiata a questo script, da li poi ci sono molte possibilità via Ajax/PHP di recuperare un JSON e popolare un dropdown:
    https://harvesthq.github.io/chosen/