Newsgroup: it.comp.lang.javascript
Titolo: popolare select

in una dynamic drop down faccio delle selezioni ma mi sono accorto di un 
errore
<select name='country' id='country' onchange="do_select(1);">
in questa select va tutto ok
mi fa la query e mi popola la seconda select
function do_select(stage)
    {
        // box = <select>
        // id = selected option's value
        var countrybox = null;
        var countryID = null;
        var regionbox = null;
        var regionID = null;
        var citybox = null;
        var cityID = null;
        switch(stage)
        {
            // Country?
            case 1:
                countrybox = document.getElementById('country');
                countryID = 
countrybox.options[countrybox.selectedIndex].value;
                x_populate_region(countryID, do_region_change);
            break;
            // Region?
            case 2:
                countrybox = document.getElementById('country');
                countryID = 
countrybox.options[countrybox.selectedIndex].value;
                regionbox = document.getElementById('region');
                regionID = regionbox.options[regionbox.selectedIndex].value;
                x_populate_city(countryID, regionID, do_city_change);
            break;
            // City?
            case 3:
                countrybox = document.getElementById('country');
                countryID = 
countrybox.options[countrybox.selectedIndex].value;
                regionbox = document.getElementById('region');
                regionID = regionbox.options[regionbox.selectedIndex].value;
                citybox = document.getElementById('city');
                cityID = citybox.options[citybox.selectedIndex].value;
                x_populate_selection(countryID, regionID, cityID, 
do_final_change);
            break;
            default:
                return;
                break;
        }
ma se la seconda select ha un solo record non popola la select sottostante 
con i dati
come posso fare che alla seconda select se trova 1 dato mi popola la terza 
select mentre se ne trova piu di uno aspetta che seleziono il record per 
popolare la terza select?

 popolare la terza select?
non fai prima ad aggiungere sempre come prima option "==>>Effettua la tua
scelta<<=="?
Altrimenti devi intervenire quando carichi la prima select: al termine del
popolamento verifichi, se ha un solo valore scateni già la function per la
seconda select.
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 popolare la terza select?
Allora, devi scrivere esattamente quello che hai appena scritto.
Dopo aver popolato la seconda select, controlli quante option ci
sono, se ce n'è solamente una, passi il suo valore alla funzione
che ti popola la terza select. Qualcosa tipo:
    // Country?
            case 1:
                countrybox = document.getElementById('country');
                countryID = 
countrybox.options[countrybox.selectedIndex].value;
                x_populate_region(countryID, do_region_change);
		regionbox = document.getElementById('region');
		if ( regionbox.options.length == 1 )
			x_populate_city(countryID, regionbox.value, do_city_change);
 
 
            break;
Ti suggerirei ad ogni modo di rivedere la funzione do_select, ci
sono parecchi pezzi ridondanti, in quel codice.
-- 
~  "Nei  film americani, qualsiasi problema che  venga considerato
 sufficientemente catastrofico, puo' essere risolto facendo esplodere
uno o piu' ordigni nucleari" (ZER0  & Cosimo)