Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471

    select provincia->regione

    A me servirebbe uno script diverso da quelli visti finora, ossia selezionando una provincia mi possa abbinare in automatico la regione di appartenenza con un secondo select.

    esistono già script per questo scopo ?



  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Esempio:
    codice:
    <form>
      <select name="provincia" onchange="this.form.regione.selectedIndex= this.options[parseInt(this.selectedIndex.value.substr(0,2))].value;">
        <option value="00-AO">Aosta</option>
        <option value="01-TO">Torino</option>
        <option value="01-AL">Alessandria</option>
        <option value="01-CN">Cuneo</option>
        ...
        <option value="02-MI">Milano</option>
        <option value="02-PV">Pavia</option>
        ...
        <option value="03-TN">Trento</option>
        <option value="03-BZ">Bolzano</option>
        <option value="04-VE">Venezia</option>
        ...
      </select>
      <select name="regione">
        <option value="00">Valle d'Aosta</option>
        <option value="01">Piemonte</option>
        <option value="02">Lombardia</option>
        <option value="03">Trentino Alto Adige</option>
        <option value="04">Veneto</option>
        ...
      </select>
    </form>
    Nota che l'ordine delle province puo` essere a piacere, mentre quello delle regioni deve rispettare i numeri assegnati nei primi caratteri del value delle opzioni delle province.
    (naturalmente ogni regione avra` un numero assegnato, da 0 a 19 - ho usato l'ordine geografico, ma puoi decidere quale ordine vuoi, purche` lo rispetti dappertutto).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    ok ti ringrazio tantissimo mich
    sei veramente di grandissimo aiuto



    nella precedente io avevo in ordine alfabetico per provincia
    <option value="AG">Agrigento</option>
    <option value="AL">Alessandria </option>
    <option value="AN">Ancona </option>

    e cosi per regione :
    <option value="0">Tutta Italia</option>
    <option value="1">Abruzzo</option>
    <option value="2">Basilicata</option>
    <option value="3">Calabria</option>

    Per il funzionamento dello scpript è meglio se cambio ordine delle province ? Ad esempio potrei mettere come 20 tutta italia e partire da 0 con abruzzo, per le province dovrei mettere prima le province dell'abruzzo e poi le altre quindi le province d'italia.

    ok provo
    alla fine posto il risultato




    grazie ancora mich

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    L'ordine e` una scelta "editoriale" del tuo sito. Non e` una scelta "tecnica".

    Quindi se avevi deciso che l'ordine alfabetico e` il migliore non devi cambiare.

    Dal punto di vista tecnico, devi solo adattare il codice alla scelta.
    Quindi se per te la regione "01" e` l'Abruzzo, tutte le province di tale regione avranno il prefisso "01", ecc. (io avevo usato un altro standard molto usato, ma perche` non conoscevo il tuo).

    Se usi "00" per "tutta Italia", va benissimo (e` la scelta piu` razionale); rispetto a quanto ho scritto io, dovrai fare alcuni cambiamenti, ma sono una cosa banale.

    Se poi hai problemi, posta sia il codice JS, che la struttura HTML dei due select.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    ecco posto il codice provincia -> regione :

    codice:
    <form>
    		<select name="provincia" onchange="this.form.regione.selectedIndex= this.options[parseInt(this.selectedIndex.value.substr(0,2))].value;">
    <option value="00-XX">Tutte le provincie</option>
    <option value="15-AG">Agrigento</option>
    <option value="12-AL">Alessandria </option>
    <option value="10-AN">Ancona </option>
    <option value="19-AO">Aosta </option>
    <option value="16-AR">Arezzo </option>
    <option value="10-AP">Ascoli Piceno </option>
    <option value="12-AT">Asti </option>
    <option value="04-AV">Avellino </option>
    <option value="13-BA">Bari </option>
    <option value="20-BL">Belluno </option>
    <option value="04-BN">Benevento </option>
    <option value="09-BG">Bergamo </option>
    <option value="12-BI">Biella </option>
    <option value="05-BO">Bologna </option>
    <option value="17-BZ">Bolzano </option>
    <option value="09-BS">Brescia </option>
    <option value="13-BR">Brindisi </option>
    <option value="14-CA">Cagliari </option>
    <option value="15-CL">Caltanissetta </option>
    <option value="11-CB">Campobasso </option>
    <option value="04-CE">Caserta </option>
    <option value="15-CT">Catania </option>
    <option value="03-CZ">Catanzaro </option>
    <option value="01-CH">Chieti </option>
    <option value="09-CO">Como </option>
    <option value="03-CS">Cosenza </option>
    <option value="09-CR">Cremona </option>
    <option value="03-KR">Crotone </option>
    <option value="12-CN">Cuneo </option>
    <option value="15-EN">Enna </option>
    <option value="05-FE">Ferrara </option>
    <option value="16-FI">Firenze </option>
    <option value="13-FG">Foggia </option>
    <option value="05-FO">Forlì </option>
    <option value="07-FR">Frosinone </option>
    <option value="08-GE">Genova </option>
    <option value="06-GO">Gorizia </option>
    <option value="16-GR">Grosseto </option>
    <option value="08-IM">Imperia </option>
    <option value="11-IS">Isernia </option>
    <option value="01-AQ">L'Aquila </option>
    <option value="08-SP">La Spezia </option>
    <option value="07-LT">Latina </option>
    <option value="13-LE">Lecce </option>
    <option value="09-LC">Lecco </option>
    <option value="16-LI">Livorno </option>
    <option value="09-LO">Lodi </option>
    <option value="16-LU">Lucca </option>
    <option value="10-MC">Macerata </option>
    <option value="09-MN">Mantova </option>
    <option value="16-MS">Massa-Carrara </option>
    <option value="02-MT">Matera </option>
    <option value="15-ME">Messina </option>
    <option value="09-MI">Milano </option>
    <option value="05-MO">Modena </option>
    <option value="04-NA">Napoli </option>
    <option value="12-NO">Novara </option>
    <option value="14-NU">Nuoro </option>
    <option value="14-OR">Oristano </option>
    <option value="20-PD">Padova </option>
    <option value="15-PA">Palermo </option>
    <option value="05-PR">Parma </option>
    <option value="09-PV">Pavia </option>
    <option value="18-PG">Perugia </option>
    <option value="10-PS">Pesaro e Urbino </option>
    <option value="01-PE">Pescara </option>
    <option value="05-PC">Piacenza </option>
    <option value="16-PI">Pisa </option>
    <option value="16-PT">Pistoia </option>
    <option value="06-PN">Pordenone </option>
    <option value="02-PZ">Potenza </option>
    <option value="16-PO">Prato </option>
    <option value="15-RG">Ragusa </option>
    <option value="05-RA">Ravenna </option>
    <option value="03-RC">Reggio Calabria </option>
    <option value="05-RE">Reggio Emilia </option>
    <option value="07-RI">Rieti </option>
    <option value="05-RN">Rimini </option>
    <option value="07-RM">Roma </option>
    <option value="20-RO">Rovigo </option>
    <option value="04-SA">Salerno </option>
    <option value="14-SS">Sassari </option>
    <option value="08-SV">Savona </option>
    <option value="16-SI">Siena </option>
    <option value="15-SR">Siracusa </option>
    <option value="09-SO">Sondrio </option>
    <option value="13-TA">Taranto </option>
    <option value="01-TE">Teramo </option>
    <option value="18-TR">Terni </option>
    <option value="12-TO">Torino </option>
    <option value="15-TP">Trapani </option>
    <option value="17-TN">Trento </option>
    <option value="20-TV">Treviso </option>
    <option value="06-TS">Trieste </option>
    <option value="06-UD">Udine </option>
    <option value="09-VA">Varese </option>
    <option value="20-VE">Venezia </option>
    <option value="12-VB">Verbania </option>
    <option value="12-VC">Vercelli </option>
    <option value="20-VR">Verona </option>
    <option value="03-VV">Vibo Valentia </option>
    <option value="20-VI">Vicenza </option>
    <option value="07-VT">Viterbo </option>
    </select> 
    
    
    
    
    <select name="regione">
    <option value="00">Tutta Italia</option>
    <option value="15">Sicilia</option>
    <option value="12">Piemonte</option>
    <option value="10">Marche</option>
    <option value="19">Valle Aosta</option>
    <option value="16">Toscana</option>
    <option value="04">Campania</option>
    <option value="13">Puglia</option>
    <option value="20">Veneto</option>
    <option value="09">Lombardia</option>
    <option value="05">Emilia Romagna</option>
    <option value="17">Trentino Alto Adige</option>
    <option value="14">Sardegna</option>
    <option value="11">Molise</option>
    <option value="03">Calabria</option>
    <option value="01">Abruzzo</option>
    <option value="02">Basilicata</option>
    <option value="06">Friuli Venezia Giulia</option>
    <option value="07">Lazio</option>
    <option value="08">Liguria</option>
    <option value="18">Umbria</option>
    </select>
    </form>

    putroppo ancora nn funziona


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sa che ho fatto un po' di confusione io, nell'elaborare lo script.
    Prova con questa:
    onchange="this.form.regione.selectedIndex=
    parseInt(this.options[this.selectedIndex].value.substr(0,2));"

    oppure:
    onchange="this.form.regione.selectedIndex=
    parseInt(this.options[this.selectedIndex].value);"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    Con la seconda che mi hai postato funziona.

    Soltanto che devo inserire lo script in un form di iscrizione per cui va in conflitto con l'altro tag form. Si potrebbe eliminare il tag form del nostro select e mettere solo quello principale ?

    In pratica :

    codice:
    <form action="..." method="post" name="modifica">
    ..
    ..
    <select name="provincia" onchange="this.form.modifica.selectedIndex=parseInt(this.options[this.selectedIndex].value);">
    ...
    ..
    </form>

    però nn funzia

    oppure come si potrebbe fare ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    ecco ho risolto in un altro modo per il problema precedente.

    Posto il codice completo, soltanto che nn funziona solo per le province della regione Lombardia, le associa a tutta Italia.

    Questo è solo un esempio, naturalmente nn sono responsabile per gli abbinamenti sbagliati prov->regione



    codice:
    <form>
    <select name="modprovincia" onchange="this.form.modregione.selectedIndex=parseInt(this.options[this.selectedIndex].value);">
    <option value="00-XX">Tutte le provincie</option>
    <option value="15-AG">Agrigento</option>
    <option value="12-AL">Alessandria </option>
    <option value="10-AN">Ancona </option>
    <option value="19-AO">Aosta </option>
    <option value="16-AR">Arezzo </option>
    <option value="10-AP">Ascoli Piceno </option>
    <option value="12-AT">Asti </option>
    <option value="04-AV">Avellino </option>
    <option value="13-BA">Bari </option>
    <option value="20-BL">Belluno </option>
    <option value="04-BN">Benevento </option>
    <option value="09-BG">Bergamo </option>
    <option value="12-BI">Biella </option>
    <option value="05-BO">Bologna </option>
    <option value="17-BZ">Bolzano </option>
    <option value="09-BS">Brescia </option>
    <option value="13-BR">Brindisi </option>
    <option value="14-CA">Cagliari </option>
    <option value="15-CL">Caltanissetta </option>
    <option value="11-CB">Campobasso </option>
    <option value="04-CE">Caserta </option>
    <option value="15-CT">Catania </option>
    <option value="03-CZ">Catanzaro </option>
    <option value="01-CH">Chieti </option>
    <option value="09-CO">Como </option>
    <option value="03-CS">Cosenza </option>
    <option value="09-CR">Cremona </option>
    <option value="03-KR">Crotone </option>
    <option value="12-CN">Cuneo </option>
    <option value="15-EN">Enna </option>
    <option value="05-FE">Ferrara </option>
    <option value="16-FI">Firenze </option>
    <option value="13-FG">Foggia </option>
    <option value="05-FO">Forlì </option>
    <option value="07-FR">Frosinone </option>
    <option value="08-GE">Genova </option>
    <option value="06-GO">Gorizia </option>
    <option value="16-GR">Grosseto </option>
    <option value="08-IM">Imperia </option>
    <option value="11-IS">Isernia </option>
    <option value="01-AQ">L'Aquila </option>
    <option value="08-SP">La Spezia </option>
    <option value="07-LT">Latina </option>
    <option value="13-LE">Lecce </option>
    <option value="09-LC">Lecco </option>
    <option value="16-LI">Livorno </option>
    <option value="09-LO">Lodi </option>
    <option value="16-LU">Lucca </option>
    <option value="10-MC">Macerata </option>
    <option value="09-MN">Mantova </option>
    <option value="16-MS">Massa-Carrara </option>
    <option value="02-MT">Matera </option>
    <option value="15-ME">Messina </option>
    <option value="09-MI">Milano </option>
    <option value="05-MO">Modena </option>
    <option value="04-NA">Napoli </option>
    <option value="12-NO">Novara </option>
    <option value="14-NU">Nuoro </option>
    <option value="14-OR">Oristano </option>
    <option value="20-PD">Padova </option>
    <option value="15-PA">Palermo </option>
    <option value="05-PR">Parma </option>
    <option value="09-PV">Pavia </option>
    <option value="18-PG">Perugia </option>
    <option value="10-PS">Pesaro e Urbino </option>
    <option value="01-PE">Pescara </option>
    <option value="05-PC">Piacenza </option>
    <option value="16-PI">Pisa </option>
    <option value="16-PT">Pistoia </option>
    <option value="06-PN">Pordenone </option>
    <option value="02-PZ">Potenza </option>
    <option value="16-PO">Prato </option>
    <option value="15-RG">Ragusa </option>
    <option value="05-RA">Ravenna </option>
    <option value="03-RC">Reggio Calabria </option>
    <option value="05-RE">Reggio Emilia </option>
    <option value="07-RI">Rieti </option>
    <option value="05-RN">Rimini </option>
    <option value="07-RM">Roma </option>
    <option value="20-RO">Rovigo </option>
    <option value="04-SA">Salerno </option>
    <option value="14-SS">Sassari </option>
    <option value="08-SV">Savona </option>
    <option value="16-SI">Siena </option>
    <option value="15-SR">Siracusa </option>
    <option value="09-SO">Sondrio </option>
    <option value="13-TA">Taranto </option>
    <option value="01-TE">Teramo </option>
    <option value="18-TR">Terni </option>
    <option value="12-TO">Torino </option>
    <option value="15-TP">Trapani </option>
    <option value="17-TN">Trento </option>
    <option value="20-TV">Treviso </option>
    <option value="06-TS">Trieste </option>
    <option value="06-UD">Udine </option>
    <option value="09-VA">Varese </option>
    <option value="20-VE">Venezia </option>
    <option value="12-VB">Verbania </option>
    <option value="12-VC">Vercelli </option>
    <option value="20-VR">Verona </option>
    <option value="03-VV">Vibo Valentia </option>
    <option value="20-VI">Vicenza </option>
    <option value="07-VT">Viterbo </option>
    </select> 
    
    
    
    
    <select name="modregione">
    <option value="00">Tutta Italia</option>
    <option value="01">Abruzzo</option>
    <option value="02">Basilicata</option>
    <option value="03">Calabria</option>
    <option value="04">Campania</option>
    <option value="05">Emilia Romagna</option>
    <option value="06">Friuli Venezia Giulia</option>
    <option value="07">Lazio</option>
    <option value="08">Liguria</option>
    <option value="09">Lombardia</option>
    <option value="10">Marche</option>
    <option value="11">Molise</option>
    <option value="12">Piemonte</option>
    <option value="13">Puglia</option>
    <option value="14">Sardegna</option>
    <option value="15">Sicilia</option>
    <option value="16">Toscana</option>
    <option value="18">Umbria</option>
    <option value="17">Trentino Alto Adige</option>
    <option value="19">Valle Aosta</option>
    <option value="20">Veneto</option>
    </select>
    </form>

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Forse anche a quelle della Liguria ...
    Il problema e` che parseInt() se trova uno zero iniziale, prende il dato come ottale.

    Occorre aggiungere la base, quindi:
    "this.form.modregione.selectedIndex=parseInt(this. options[this.selectedIndex].value,10);"


    Per quanto riguarda il form, ti basta che i due campi facciano parte dello stesso form, e che non ci siano nomi duplicati.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.