Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    regioni, province, comuni

    ragazzi sto cercando uno script che compili 3 select con le regioni, province, comuni d'italia dincamicamente, so che ci sono state diverse discussioni a riguardo ma il mio interesse era trovare uno script gia fatto senza mettersi li' a scrivere tutti i comuni d'italia...
    chi mi da' una mano?
    grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La parte in javascript e' veramente esigua... e trovi diversi esempi nel forum, quello che pesa e' la parte lato server... ma per quello devi cercare (ed eventualmente postare) nel forum che tratta il linguaggio che puoi/vuoi utilizzare.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    per il lato server non ci sono problemi, io uso php ma non è quello il mio problema...il fatto è che non vorrei scrivere tutti i comuni d'italia, quindi se esiste uno script che mi faccia solo aggiornare dinamicamente i 3 menu a tendina farei una statua a chi l'ha fatto....

  4. #4
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    Ma intendi riempirli avendo preso da server la lista dei comuni? o ti serve proprio quella lista ?

  5. #5
    nono, non voglio recuperare una lista dal server vorrei un javascript completo di tutte le regioni, province e comuni d'italia che cambi dinamicamente le select...senza che mi connetto ad un database per un lavoro che può comunque gestire rapidamente il js....qualcuno possiede questo script?

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Ho fatto una paginetta e sembra :master: funzionare; ma c'è un problema: come te la mando, visto che contiene 271.992 caratteri e ne posso inviare 13.000

    insomma, l'elenco dei comuni è un po' pesante e io non so come spedire
    Pietro

  7. #7
    se puoi, mandamelo tramite email, l'indirizzo lo dovresti poter trovare nel mio profilo..

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da the darkness
    mi togli una curiosità?ma ti sei messo a fare a mano per tutti i comuni???
    Io ho un amico che si è prestato molto volentieri a farmelo . Si chiama asp.net

    per chi fosse interessanto, invio una pagina ridotta. Nel server si ricava il vettore bidimensionale province e comuni che ho ridotto per spazio a 3.
    Il vettore province contiene id_provincia, nome_provincia, id_regione. Il vettore comuni contiene id_comune, nome_comune e id_provincia.
    quando si seleziona una regione, si ricava l'id_regione e si recuperano tutte le province per quel id_regione...
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Pagina senza titolo </title>
        <link href="../stili/Styles.css" rel="stylesheet" type="text/css" />
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    var province = [ ["084", "AGRIGENTO", "19"], ["006", "ALESSANDRIA", "01"], ["042", "ANCONA", "11"] ];
    var comuni = [ ["28001", "ABANO TERME", "028"], ["98001", "ABBADIA CERRETO", "098"], ["97001", "ABBADIA LARIANA", "097"] ];
    
    function DropDownList_regioni_onchange(v) 
    {
        //chiave regione
        var key = v.value;
        
        //cancello tutti le province
        $("DropDownList_province").options.length = 1;
        
        //cancello tutti i comuni
        $("DropDownList_comuni").options.length = 1;
        
        //creo lista provincia
        for(var i in province)
        {
            if(province[i][2] == key)
            {
                lista_push($("DropDownList_province"), province[i][1], province[i][0]);
            }
        }
        
    }
    
    function DropDownList_province_onchange(v) 
    {
        //chiave provincia
        var key = v.value;
        
        //cancello tutti i comuni
        $("DropDownList_comuni").options.length = 1;
        
        //creo lista comuni
        for(var i in comuni)
        {
            if(comuni[i][2] == key)
            {
                lista_push($("DropDownList_comuni"), comuni[i][1], comuni[i][0]);
            }
        }
    
    }
    
    function DropDownList_comuni_onchange(v)
    {
    
    }
    
    //al posto di mettere document.getElementById("div1"), mettere $("div1")
    //da prototype.js
    function $() 
    {
        var elements = new Array();
    
        for (var i = 0; i < arguments.length; i++) 
        {
            var element = arguments[i];
            if (typeof element == 'string')
                element = document.getElementById(element);
    
            if (arguments.length == 1)
                return element;
    
            elements.push(element);
        }
    
        return elements;
    }
    
    function lista_push(lista, testo, valore)
    {
    	lista.options[lista.options.length] = new Option(testo, valore);
    }
    
    // ]]>
        </script>
    
    </head>
    <body>
        <form name="form1" method="post" action="a.aspx" id="form1" >
            <table>
                <tr><td>Regioni</td><td>Province</td><td>Comuni</td></tr>
                <tr>
                    <td>
                        <select name="DropDownList_regioni" id="DropDownList_regioni" style="width:200px;" onchange="return DropDownList_regioni_onchange(this)">
    	                    <option value=""></option>
    	                    <option value="13">ABRUZZO</option>
    	                    <option value="17">BASILICATA</option>
    	                    <option value="18">CALABRIA</option>
    	                    <option value="15">CAMPANIA</option>
    	                    <option value="08">EMILIA-ROMAGNA</option>
    	                    <option value="06">FRIULI-VENEZIA GIULIA</option>
    	                    <option value="12">LAZIO</option>
    	                    <option value="07">LIGURIA</option>
    	                    <option value="03">LOMBARDIA</option>
    	                    <option value="11">MARCHE</option>
    	                    <option value="14">MOLISE</option>
    	                    <option value="01">PIEMONTE</option>
    	                    <option value="16">PUGLIA</option>
    	                    <option value="20">SARDEGNA</option>
    	                    <option value="19">SICILIA</option>
    	                    <option value="09">TOSCANA</option>
    	                    <option value="04">TRENTINO-ALTO ADIGE</option>
    	                    <option value="10">UMBRIA</option>
    	                    <option value="02">VALLE D'AOSTA</option>
    	                    <option value="05">VENETO</option>
                        </select>
                    
                    </td>
                    <td>
                        <select name="DropDownList_province" id="DropDownList_province" style="width:200px;" onchange="return DropDownList_province_onchange(this)">
    	                    <option value=""></option>
                        </select>
                    
                    </td>
                    <td>
                        <select name="DropDownList_comuni" id="DropDownList_comuni" style="width:200px;" onchange="return DropDownList_comuni_onchange(this)">
    	                    <option value=""></option>
                        </select>
                    
                    </td>
                </tr>
            </table>
        </form>
    </body>
    </html>
    Pietro

  9. #9
    mi togli solo una curiosita'?come hai fatto a buttarci dentro tutti i comuni d'italia?
    ti sei messo a fare copia e incolla?!?

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da the darkness
    mi togli solo una curiosita'?come hai fatto a buttarci dentro tutti i comuni d'italia?
    ti sei messo a fare copia e incolla?!?
    Dio Buono e Misericordioso mi vien da dire ho fatto una pagina server ed ho messo nella pagina:

    <script language="javascript" type="text/javascript">
    // <!CDATA[

    var province = <%=Province %>;
    var comuni = <%=Comuni %>;

    // ]]>
    </script>

    dove Province e Comuni sono due property
    codice:
        Protected ReadOnly Property Province() As String
            Get
                Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "select codice_istat_provincia, nome_provincia, codice_istat_regione from q_provincie order by nome_provincia")
                Return vettoreToArrayJS(dt)
    
            End Get
        End Property
    
        Protected ReadOnly Property Comuni() As String
            Get
                Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "select id_comune, nome_comune, codice_istat_provincia from q_comuni order by nome_comune")
                Return vettoreToArrayJS(dt)
            End Get
        End Property
    mentre il dropdown delle regioni è caricato nel load della pagina
    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "select codice_istat_regione, nome_regione from regioni order by nome_regione")
    
            libreria.FillListControl(Me.DropDownList_regioni, dt.DefaultView, "nome_regione", "codice_istat_regione")
    
        End Sub
    vettoreToArrayJS è invece una procedura che scandisce un DataTable e restituisce un vettore javascript bidimensionale
    codice:
        '----------------------------------------------------------------------------------------
        'restituisce un vettore bidimensionale letterale javascript tipo
        '[ ["28001", "ABANO TERME"], ["98001", "ABBADIA CERRETO"], ["97001", "ABBADIA LARIANA"] ]
        '----------------------------------------------------------------------------------------
        Public Function vettoreToArrayJS$(ByVal a As DataTable)
            Const Delimitatore$ = """"
    
            Dim i%, j%, r%, c%
            Dim vjs As New StringBuilder()
            Dim t As New StringBuilder()
    
            r = a.Rows.Count - 1          'indice max riga. Righe = r+1
            c = a.Columns.Count - 1       'indice max colonne. Colonne = c+1
    
            vjs.Length = 0
            vjs.Append("[ ")
            For i = 0 To r
                t.Length = 0
                t.Append("[")
                For j = 0 To c
                    If j > 0 Then t.Append(", ")
                    t.Append(Delimitatore)
                    t.Append(valoreCella(a.Rows(i)(j), a.Columns(j)))
                    t.Append(Delimitatore)
                Next
                t.Append("]")
    
                If i > 0 Then vjs.Append(", ")
                vjs.Append(t)
            Next
            vjs.Append(" ]")
    
            Return vjs.ToString()
    
        End Function
    Naturalmente poi basta prendere l'html prodotto e usarlo come pare.

    Soddisfatta la curiosita?
    Pietro

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 © 2025 vBulletin Solutions, Inc. All rights reserved.