Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    menù select...che dipende da un altra select

    ciauz a tutti...volevo chiedervi...se mi sapreste postare uno script che funzioni così...

    io ho una select...
    seleziono un valore...
    e automaticamente mi si rimepono i valori di un altra select (a seconda del precendente valore)...


    spero di essermi spiegato


    ciauzzz e grazie

  2. #2
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712
    E' la stessa cosa che devo fare io ma non riesco a trovare niente sul forum!
    Ubuntu 10.10 x86_64

  3. #3
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737
    codice:
    <script language="JavaScript">
    arr_1 = new Array();
    								arr_1[0] = 'BG';
    								arr_1[1] = 'BS';
    								arr_1[2] = 'CH';
    								arr_1[3] = 'CO';
    								arr_1[4] = 'LC';
    								arr_1[5] = 'MI';
    								arr_1[6] = 'SO';
    								arr_1[7] = 'VA';
    								arr_2 = new Array();
    								arr_2[0] = 'AL';
    								arr_2[1] = 'CN';
    								arr_2[2] = 'NO';
    								arr_3 = new Array();
    								arr_3[0] = 'GO';
    								arr_3[1] = 'UD';
    								arr_4 = new Array();
    								arr_4[0] = 'VE';
    								arr_5 = new Array();
    								arr_5[0] = 'PS';
    								arr_6 = new Array();
    								arr_6[0] = 'RN';
    								arr_7 = new Array();
    								arr_7[0] = 'SV';
    								arr_8 = new Array();
    								arr_8[0] = 'RM';
    								
    
    
    // Function to handle dynamically altering the contents of the City List box
    function handleChange(regione){  
    	regione=String(regione)
    	var provincia, NumEntries, i
        provincia = document.frmricerca.provincia
    	if (regione!='all'){
    		NumEntries = eval("arr_" + regione + ".length")
    		arr_prov=eval("arr_" + regione)
    	}
    	
      // Delete all entries in the cities list box
    	  for (i = provincia.length; i > 0; i--){
    		provincia.options[i-1] = null
    	  }
    	  
    	  // Add comment option to City List box
    	  provincia.options[0] = new Option("--","")
    	
    	  // If state is selected add its cities to the City List box
    	  if (regione != 'all'){
    		for (i = 1; i <= NumEntries; i++){
    		  //GiocatoreSelect.options[i] = new Option((arrInter[newDisplay])[i-1],(i))
    		  provincia.options[i] = new Option(arr_prov[i-1],arr_prov[i-1])
    		}
    	  }
    	  provincia.selectedIndex = 0
    
    }
    </script>
    e i due campi li crei così
    codice:
    <select NAME="regione" onChange="handleChange(this[this.selectedIndex].value)" class="input">
    										<option SELECTED="SELECTED" VALUE="all">Tutte</option>
    
    										
    												<option value="1">Lombardia</option>
    										
    												<option value="2">Piemonte</option>
    										
    												<option value="3">FriuliVeneziaGiulia</option>
    										
    												<option value="4">Veneto</option>
    										
    												<option value="5">LeMarche</option>
    										
    												<option value="6">EmiliaRomagna</option>
    
    										
    												<option value="7">Liguria</option>
    										
    												<option value="8">Lazio</option>
    										
    									</select>
    <select NAME="provincia" class="input">
    										<option SELECTED="SELECTED" VALUE="">Tutte</option>
    										
    									</select>
    da adattare alle tue esigenze...
    Chicco Ravaglia per sempre con noi!

  4. #4
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001
    dopo </head>



    <SCRIPT>
    <!--
    r1=new Array();
    c1=new Array();r1[0]="CHIETI";c1[0]="ch";r1[1]="L'AQUILA";c1[1]="aq";r1[2]="PESCARA";c1[2]="pe";r1[3]="TERAMO";c1[3]="te";r2=new Array();
    c2=new Array();r2[0]="MATERA";c2[0]="mt";r2[1]="POTENZA";c2[1]="pz";r3=new Array();
    c3=new Array();r3[0]="CATANZARO";c3[0]="cz";r3[1]="COSENZA";c3[1]="cs";r3[2]="CROTONE";c3[2]="kr";r3[3]="REGGIO DI CALABRIA";c3[3]="rc";r3[4]="VIBO VALENTIA";c3[4]="vv";r4=new Array();
    c4=new Array();r4[0]="AVELLINO";c4[0]="av";r4[1]="BENEVENTO";c4[1]="bn";r4[2]="CASERTA";c4[2]="ce";r4[3]="NAPOLI";c4[3]="na";r4[4]="SALERNO";c4[4]="sa";r5=new Array();
    c5=new Array();r5[0]="BOLOGNA";c5[0]="bo";r5[1]="FERRARA";c5[1]="fe";r5[2]="FORLI-CESENA";c5[2]="fc";r5[3]="MODENA";c5[3]="mo";r5[4]="PARMA";c5[4]="pr";r5[5]="PIACENZA";c5[5]="pc";r5[6]="RAVENNA";c5[6]="ra";r5[7]="REGGIO EMILIA";c5[7]="re";r5[8]="REGGIO NELL'EMILIA";c5[8]="re";r5[9]="RIMINI";c5[9]="rn";r6=new Array();
    c6=new Array();r6[0]="GORIZIA";c6[0]="go";r6[1]="PORDENONE";c6[1]="pn";r6[2]="TRIESTE";c6[2]="ts";r6[3]="UDINE";c6[3]="ud";r7=new Array();
    c7=new Array();r7[0]="FROSINONE";c7[0]="fr";r7[1]="LATINA";c7[1]="lt";r7[2]="RIETI";c7[2]="ri";r7[3]="ROMA";c7[3]="rm";r7[4]="VITERBO";c7[4]="vt";r8=new Array();
    c8=new Array();r8[0]="GENOVA";c8[0]="ge";r8[1]="IMPERIA";c8[1]="im";r8[2]="LA SPEZIA";c8[2]="sp";r8[3]="SAVONA";c8[3]="sv";r9=new Array();
    c9=new Array();r9[0]="BERGAMO";c9[0]="bg";r9[1]="BRESCIA";c9[1]="bs";r9[2]="COMO";c9[2]="co";r9[3]="CREMONA";c9[3]="cr";r9[4]="LECCO";c9[4]="lc";r9[5]="LODI";c9[5]="lo";r9[6]="MANTOVA";c9[6]="mn";r9[7]="MILANO";c9[7]="mi";r9[8]="PAVIA";c9[8]="pv";r9[9]="SONDRIO";c9[9]="so";r9[10]="VARESE";c9[10]="va";r10=new Array();
    c10=new Array();r10[0]="ANCONA";c10[0]="an";r10[1]="ASCOLI PICENO";c10[1]="ap";r10[2]="MACERATA";c10[2]="mc";r10[3]="PESARO E URBINO";c10[3]="pu";r11=new Array();
    c11=new Array();r11[0]="CAMPOBASSO";c11[0]="cb";r11[1]="ISERNIA";c11[1]="is";r12=new Array();
    c12=new Array();r12[0]="ALESSANDRIA";c12[0]="al";r12[1]="ASTI";c12[1]="at";r12[2]="BIELLA";c12[2]="bi";r12[3]="CUNEO";c12[3]="cn";r12[4]="NOVARA";c12[4]="no";r12[5]="TORINO";c12[5]="to";r12[6]="VERBANO-CUSIO-OSSOLA";c12[6]="vb";r12[7]="VERCELLI";c12[7]="vc";r13=new Array();
    c13=new Array();r13[0]="BARI";c13[0]="ba";r13[1]="BRINDISI";c13[1]="br";r13[2]="FOGGIA";c13[2]="fg";r13[3]="LECCE";c13[3]="le";r13[4]="TARANTO";c13[4]="ta";r14=new Array();
    c14=new Array();r14[0]="SAN MARINO";c14[0]="sm";r15=new Array();
    c15=new Array();r15[0]="CAGLIARI";c15[0]="ca";r15[1]="NUORO";c15[1]="nu";r15[2]="ORISTANO";c15[2]="or";r15[3]="SASSARI";c15[3]="ss";r16=new Array();
    c16=new Array();r16[0]="AGRIGENTO";c16[0]="ag";r16[1]="CALTANISSETTA";c16[1]="cl";r16[2]="CATANIA";c16[2]="ct";r16[3]="ENNA";c16[3]="en";r16[4]="MESSINA";c16[4]="me";r16[5]="PALERMO";c16[5]="pa";r16[6]="RAGUSA";c16[6]="rg";r16[7]="SIRACUSA";c16[7]="sr";r16[8]="TRAPANI";c16[8]="tp";r17=new Array();
    c17=new Array();r17[0]="AREZZO";c17[0]="ar";r17[1]="FIRENZE";c17[1]="fi";r17[2]="GROSSETO";c17[2]="gr";r17[3]="LIVORNO";c17[3]="li";r17[4]="LUCCA";c17[4]="lu";r17[5]="MASSA-CARRARA";c17[5]="ms";r17[6]="PISA";c17[6]="pi";r17[7]="PISTOIA";c17[7]="pt";r17[8]="PRATO";c17[8]="po";r17[9]="SIENA";c17[9]="si";r18=new Array();
    c18=new Array();r18[0]="BOLZANO-BOZEN";c18[0]="bz";r18[1]="TRENTO";c18[1]="tn";r19=new Array();
    c19=new Array();r19[0]="PERUGIA";c19[0]="pg";r19[1]="TERNI";c19[1]="tr";r20=new Array();
    c20=new Array();r20[0]="AOSTA";c20[0]="ao";r21=new Array();
    c21=new Array();r21[0]="BELLUNO";c21[0]="bl";r21[1]="PADOVA";c21[1]="pd";r21[2]="ROVIGO";c21[2]="ro";r21[3]="TREVISO";c21[3]="tv";r21[4]="VENEZIA";c21[4]="ve";r21[5]="VERONA";c21[5]="vr";r21[6]="VICENZA";c21[6]="vi";

    function updateProv()
    {
    var selectedprv;

    if (document.searchform.sedeop_reg.options.selectedIn dex > 1)
    {
    curarray = eval("r" + (document.searchform.sedeop_reg.options.selectedIn dex - 1));
    ccurarray = eval("c" + (document.searchform.sedeop_reg.options.selectedIn dex - 1));


    lst = document.searchform.sedeop_prv.options.length;
    for (i = lst; i >= 0; i--)
    { document.searchform.sedeop_prv.options[i] = null; }

    document.searchform.sedeop_prv.options[0] = new Option("Seleziona la provincia", "", false, false);
    for(i=0; i<curarray.length;i++)
    {
    document.searchform.sedeop_prv.options[i+1] = new Option(curarray[i],ccurarray[i],false,false);
    if (ccurarray[i] == selectedprv) document.searchform.sedeop_prv.options[i+1].selected = true;
    }
    document.searchform.sedeop_prv.options[0].selected=true;




    }
    else
    {
    lst = document.searchform.sedeop_prv.options.length
    for (i = lst; i >= 0; i--)
    { document.searchform.sedeop_prv.options[i] = null; }
    document.searchform.sedeop_prv.options[0] = new Option("", "", true, true);
    document.searchform.sedeop_prv.options[0].selected=true;

    }
    }

    function updateProv2()
    {var selectedprv;

    if (document.searchform.sedeop_reg.options.selectedIn dex > 1)
    {
    curarray = eval("r" + (document.searchform.sedeop_reg.options.selectedIn dex - 1))
    ccurarray = eval("c" + (document.searchform.sedeop_reg.options.selectedIn dex - 1))

    lst = document.searchform.sedeop_prv.options.length
    for (i = lst; i >= 0; i--)
    { document.searchform.sedeop_prv.options[i] = null; }

    document.searchform.sedeop_prv.options[0] = new Option("Seleziona la provincia", "", false, false);
    for(i=0; i<curarray.length;i++)
    {
    document.searchform.sedeop_prv.options[i+1] = new Option(curarray[i],ccurarray[i],false,false);
    if (ccurarray[i] == selectedprv)
    document.searchform.sedeop_prv.options[i+1].selected = true;
    else
    document.searchform.sedeop_prv.options[i+1].selected = false;
    }

    }
    else
    {
    lst = document.searchform.sedeop_prv.options.length
    for (i = lst; i >= 0; i--)
    { document.searchform.sedeop_prv.options[i] = null; }

    document.searchform.sedeop_prv.options[0] = new Option("", "", true, true);
    document.searchform.sedeop_prv.options[0].selected=true;

    }
    }

    function updateLoc()
    {
    if (document.searchform.sedeop_prv.options[document.searchform.sedeop_prv.options.selectedInd ex].value != '')

    document.searchform.submit();

    }

    function former()
    {
    var qstring ='';
    for(i=0; i<document.searchform.elements.length; i++)
    {
    if(document.searchform.elements[i].type=='select-one')
    qstring= qstring + document.searchform.elements[i].name + '=' + escape(document.searchform.elements[i].options[document.searchform.elements[i].selectedIndex].value) + '&'
    else
    qstring= qstring + document.searchform.elements[i].name + '=' + escape(document.searchform.elements[i].value) + '&'
    }
    if (document.searchform.localita.type=='select-one' && document.searchform.localita.options.selectedIndex >0)
    { app = document.searchform.localita.options[document.searchform.localita.options.selectedIndex].value
    qstring = qstring + 'num=' + escape(app.substr(1 + app.indexOf('|', 0))) + '&'
    }
    if (document.searchform.localita.type=='select-one' && document.searchform.localita.options.selectedIndex >0)
    { app2 = document.searchform.localita.options[document.searchform.localita.options.selectedIndex].value
    qstring = qstring + 'comune=' + escape(app2.substr(0,app.indexOf('|', 0)))
    }
    return qstring;
    }

    function CheckCampi(theForm)
    {
    if (theForm.sedeop_reg.selectedIndex < 2 && theForm.localita.type=='text' && theForm.localita.value=='')
    { alert("Indicare la Regione di interesse");
    theForm.sedeop_reg.focus();
    return (false);
    }
    if (theForm.sedeop_reg.selectedIndex < 2 && theForm.localita.type=='select-one')
    { alert("Indicare la Regione di interesse");
    theForm.sedeop_reg.focus();
    return (false);
    }
    if (theForm.sedeop_prv.selectedIndex == 0 && theForm.localita.type=='text' && theForm.localita.value=='')
    {
    alert("Indicare la Provincia di interesse");
    theForm.sedeop_prv.focus();
    return (false);
    }
    if (theForm.sedeop_prv.selectedIndex == 0 && theForm.localita.type=='select-one')
    {
    alert("Indicare la Provincia di interesse");
    theForm.sedeop_prv.focus();
    return (false);
    }
    if (theForm.localita.selectedIndex == 0 && theForm.localita.type=='text' && theForm.localita.value=='')
    {
    alert("Indicare la Comune di interesse");
    theForm.localita.focus();
    return (false);
    }
    if (theForm.localita.selectedIndex == 0 && theForm.localita.type=='select-one')
    {
    alert("Indicare la Comune di interesse");
    theForm.localita.focus();
    return (false);
    }
    return(true);
    }

    function my_win200()
    {var winref;

    var macrozone = ' bari bologna firenze genova milano napoli palermo roma torino verona '
    var origine = 'stradivari'
    var app
    if (document.searchform.localita.type=='select-one' && document.searchform.localita.options.selectedIndex >0)
    { app = document.searchform.localita.options[document.searchform.localita.options.selectedIndex].value
    app = escape(app.substr(0,app.indexOf('|', 0)))
    }
    else
    app = document.searchform.localita.value

    if (CheckCampi(window.document.searchform))
    {
    if (macrozone.search(' ' + app.toLowerCase() + ' ')!=-1)
    winref = window.open('mappa.jsp?tipo1=res&tipo2=&motiv=ven& ' + former() + '&mapper=' + app.toLowerCase() + '&orig=' + origine,'mywindow','width=640,height=500,toolbar=n o,location=no,directories=no,status=no,menubar=no, scrollbars=yes,copyhistory=no,resizable=no,screenX =0,screenY=0,top=0,left=0');
    else
    winref = window.open('notizie_int.jsp?tipo1=res&tipo2=&moti v=ven&' + former() + '&orig=' + origine,'mywindow','width=500,height=200,toolbar=n o,location=no,directories=no,status=no,menubar=no, scrollbars=yes,copyhistory=no,resizable=no,screenX =250,screenY=250,top=100,left=100');
    winref.focus();
    }
    }
    //-->
    </script>








    nell'html


    <select name="sedeop_reg" size="1" onchange="updateProv()">
    <option value="">Seleziona la regione</option>
    <option value=""> </option>
    <option value="abr">ABRUZZO</option>
    <option value="bas">BASILICATA</option>
    <option value="cal">CALABRIA</option>
    <option value="cam">CAMPANIA</option>
    <option value="emi">EMILIA-ROMAGNA</option>
    <option value="fvg">FRIULI-VENEZIA GIULIA</option>
    <option value="laz">LAZIO</option>
    <option value="lig">LIGURIA</option>
    <option value="lom">LOMBARDIA</option>
    <option value="mar">MARCHE</option>
    <option value="mol">MOLISE</option>
    <option value="pie">PIEMONTE</option>
    <option value="pug">PUGLIA</option>
    <option value="rsm">REPUBBLICA DI SAN MARINO</option>
    <option value="sar">SARDEGNA</option>
    <option value="sic">SICILIA</option>
    <option value="tos">TOSCANA</option>
    <option value="taa">TRENTINO-ALTO ADIGE</option>
    <option value="umb">UMBRIA</option>
    <option value="vdo">VALLE D'AOSTA</option>
    <option value="ven">VENETO</option>
    </select>

    <select name="sedeop_prv" size="1" >
    <option value="">Seleziona la provincia</option>
    <option value=""> </option>
    <option value="">--------</option>
    <option value="">--------</option>
    <option value="">--------</option>
    </select>
    Vola solo chi ha il coraggio di farlo

  5. #5
    zoom...noos...ho provato i vostri script...ma tutti e due mi danno errore...
    io nn li ho mificati di nulla....li ho presi di pacca e incollati...e testati...però mi danno cmq errore...

    :-(((

    ciauzzz e graziee

  6. #6
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737
    :master:
    il form l'hai chiamato frmricerca ? :master:

    strano, io lo uso e non da errori neanche con Mozilla...
    Che errore ti da?
    Chicco Ravaglia per sempre con noi!

  7. #7
    ecccoo qual'era il problema...avevo dato un nome diverso...adesso funge alla grandeeee


    grazie milleeeeeeeeeeee


    ciauzzz

  8. #8
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737
    :metallica
    mi ero dimenticato di dirtelo...

    l'importante è che funzioni... :metallica
    Chicco Ravaglia per sempre con noi!

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.