• User

    Il valore di una dropdown restituisce più campi

    ciao a tutti
    una query estrae i dati con tre dropdown in cascata,country, state e l'ultima visualizza la citta'.
    vorrei che quando visualizzo la citta'
    vengano estratti dal database i dati relativi alla città scelta e vengano messi all'interno di un <div></div>

    e.g.
    città selezionata: Milano(
    $row['state_abbr'] = MI
    $row['city_cap'] = 28000)

    risultato:
    Milano
    MI
    28000

    codice:
    https://pastebin.com/JY2HPYTC (index.php)
    https://pastebin.com/RVsBCtrQ (cities.php)

    spero in un vs aiuto
    ciao


  • User

    penso che si debba agire sulla chiamata ajax (cosa che non so fare) che cambia da regione a citta'

    **function **getCitySelectList(){
        **var **state_select = document.getElementById("state-select");
    
        **var **state_id = state_select.options[state_select.selectedIndex].value;
        console.log('State_id : ' + state_id);
    
        **var **xhr = **new **XMLHttpRequest();
        **var **url = 'cities.php?state_id=' + state_id;
        // open function
        xhr.open('GET', url, **true**);
        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    
        // check response is ready with response states = 4
        xhr.onreadystatechange = **function**(){
            **if**(xhr.readyState === 4 && xhr.status === 200){
                **var **text = xhr.responseText;
                //console.log('response from cities.php : ' + xhr.responseText);
                **var **city_select = document.getElementById("city-select");
                city_select.innerHTML = text;
                city_select.style.display='inline';
    
            }
        }
        xhr.send();
    }
    

    oppure ci sono altri metodi?