Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    18

    Menu A Tendina Che "parlano"...

    Ciao a tutti,

    io ho due menu select A e B popolate estraendo i dati dal db DATI, rispettivamente dalle tabelle TAB_A e TAB_B.
    qualcuno saprebbe dirmi come faccio a fare in modo che in base alla scelta effettuata dall' utente sul primo select, cambi anche il secondo?...

    magari con un esempietto commentato, cosi me lo studio un po..

    grazie

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao NOTAZ,

    e come deve cambiare la seconda select? Qual'è la relazione tra le due?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    18
    supponiamo che in una tabella ho i nomi delle regione e in un altra le città, in base alla regione selezioneta,l' altro menu a tendina deve cambiare mostrando le citta di quella regione..

    Entrambe le form sono popolate da db...

    AIUTOOOOO è tutta la mattina che mi sbatt

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    206
    Secondo me, dovresti fare un submit di un form contenente la tua select, in modo da ricaricare la stessa pagina, appena la prima select viene modificata. prima dell'html metti il tuo codice lato server che ti fa la query sul DB ed in una variabile metti il testo html riguardante la prima <select>

    poi metti un controllo per verificare se recuperi il valore della <select>: if(request.getParameter("select_a")!=null)
    se il valore esiste allora fai la seconda query al DB con la condizione che ti serve "where campo ="+ request.getParameter("select_a") e metti in un'altra variabile il testo html della seconda <select>


    <form name="form" action="" method="get">
    <select name="select_A" onChange="javascript: document.form.submit()">

    </select>

    <select name="select_B">

    </select>
    </form>

  5. #5
    Utente di HTML.it L'avatar di giord
    Registrato dal
    Jan 2002
    Messaggi
    448
    beccati sto Thread....
    http://forum.html.it/forum/showthrea...5&pagenumber=1
    avevo lo stesso problema io qualche giorno fa...

    Funziona alla grande

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da NOTAZ
    supponiamo che in una tabella ho i nomi delle regione e in un altra le città, in base alla regione selezioneta,l' altro menu a tendina deve cambiare mostrando le citta di quella regione..

    Entrambe le form sono popolate da db...

    AIUTOOOOO è tutta la mattina che mi sbatt
    Ma intendi tutte le città o solo le province? Pekké per fare il filtrggio lato client dovresti passare una quantità industriale di codice... ti conviene passare per il server. Se si tratta di filtrare solo le province la quantità di dati è accettabile.
    Che linguaggio disponi lato server?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    18
    PERL E CGI

    si le passo lato server
    ma non so come effettuare il colloquio tra le due select...

    ho letto i link, ma raga so niente io di js e non ci capisco molto

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Io non conosco perl e cigiai

    se vuoi ti faccio vedere come si può fare lato client (solo per le provice... tutte le città sarebbero troppe) dopo vedi tu come implementarlo lato server... ma con perl e cgi si fanno pagine tipo asp, php, jsp?
    codice:
    <HTML>
    <HEAD>
    <script language="javascript">
    function objProvincia(codice,nome){
    	this.codice=codice
    	this.nome=nome
    }
    function objRegione(nome,province){
    	this.nome = nome
    	this.province = province
    }
    var regioni = new Array()
    
    province = new Array()
    province[province.length]=new objProvincia('CH','CHIETI')
    province[province.length]=new objProvincia('AQ','L\'AQUILA')
    province[province.length]=new objProvincia('PE','PESCARA')
    province[province.length]=new objProvincia('TE','TERAMO')
    regioni[regioni.length]=new objRegione('ABRUZZO',province)
    province = new Array()
    province[province.length]=new objProvincia('MT','MATERA')
    province[province.length]=new objProvincia('PZ','POTENZA')
    regioni[regioni.length]=new objRegione('BASILICATA',province)
    province = new Array()
    province[province.length]=new objProvincia('CZ','CATANZARO')
    province[province.length]=new objProvincia('CS','COSENZA')
    province[province.length]=new objProvincia('KR','CROTONE')
    province[province.length]=new objProvincia('RC','REGGIO DI CALABRIA')
    province[province.length]=new objProvincia('VV','VIBO VALENTIA')
    regioni[regioni.length]=new objRegione('CALABRIA',province)
    province = new Array()
    province[province.length]=new objProvincia('AV','AVELLINO')
    province[province.length]=new objProvincia('BN','BENEVENTO')
    province[province.length]=new objProvincia('CE','CASERTA')
    province[province.length]=new objProvincia('NA','NAPOLI')
    province[province.length]=new objProvincia('SA','SALERNO')
    regioni[regioni.length]=new objRegione('CAMPANIA',province)
    province = new Array()
    province[province.length]=new objProvincia('BO','BOLOGNA')
    province[province.length]=new objProvincia('FE','FERRARA')
    province[province.length]=new objProvincia('FO','FORLI\'')
    province[province.length]=new objProvincia('MO','MODENA')
    province[province.length]=new objProvincia('PR','PARMA')
    province[province.length]=new objProvincia('PC','PIACENZA')
    province[province.length]=new objProvincia('RA','RAVENNA')
    province[province.length]=new objProvincia('RE','REGGIO NELL\'EMILIA')
    province[province.length]=new objProvincia('RS','REPUBBLICA DI SAN MARINO')
    province[province.length]=new objProvincia('RN','RIMINI')
    regioni[regioni.length]=new objRegione('EMILIA-ROMAGNA',province)
    province = new Array()
    province[province.length]=new objProvincia('GO','GORIZIA')
    province[province.length]=new objProvincia('PN','PORDENONE')
    province[province.length]=new objProvincia('TS','TRIESTE')
    province[province.length]=new objProvincia('UD','UDINE')
    regioni[regioni.length]=new objRegione('FRIULI-VENEZIA GIULIA',province)
    province = new Array()
    province[province.length]=new objProvincia('CV','CITTA DEL VATICANO')
    province[province.length]=new objProvincia('FR','FROSINONE')
    province[province.length]=new objProvincia('LT','LATINA')
    province[province.length]=new objProvincia('RI','RIETI')
    province[province.length]=new objProvincia('RM','ROMA')
    province[province.length]=new objProvincia('VT','VITERBO')
    regioni[regioni.length]=new objRegione('LAZIO',province)
    province = new Array()
    province[province.length]=new objProvincia('GE','GENOVA')
    province[province.length]=new objProvincia('IM','IMPERIA')
    province[province.length]=new objProvincia('SP','LA SPEZIA')
    province[province.length]=new objProvincia('SV','SAVONA')
    regioni[regioni.length]=new objRegione('LIGURIA',province)
    province = new Array()
    province[province.length]=new objProvincia('BG','BERGAMO')
    province[province.length]=new objProvincia('BS','BRESCIA')
    province[province.length]=new objProvincia('CO','COMO')
    province[province.length]=new objProvincia('CR','CREMONA')
    province[province.length]=new objProvincia('LC','LECCO')
    province[province.length]=new objProvincia('LO','LODI')
    province[province.length]=new objProvincia('MN','MANTOVA')
    province[province.length]=new objProvincia('MI','MILANO')
    province[province.length]=new objProvincia('PV','PAVIA')
    province[province.length]=new objProvincia('SO','SONDRIO')
    province[province.length]=new objProvincia('VA','VARESE')
    regioni[regioni.length]=new objRegione('LOMBARDIA',province)
    province = new Array()
    province[province.length]=new objProvincia('AN','ANCONA')
    province[province.length]=new objProvincia('AP','ASCOLI PICENO')
    province[province.length]=new objProvincia('MC','MACERATA')
    province[province.length]=new objProvincia('PS','PESARO E URBINO')
    regioni[regioni.length]=new objRegione('MARCHE',province)
    province = new Array()
    province[province.length]=new objProvincia('CB','CAMPOBASSO')
    province[province.length]=new objProvincia('IS','ISERNIA')
    regioni[regioni.length]=new objRegione('MOLISE',province)
    province = new Array()
    province[province.length]=new objProvincia('AL','ALESSANDRIA')
    province[province.length]=new objProvincia('AT','ASTI')
    province[province.length]=new objProvincia('BI','BIELLA')
    province[province.length]=new objProvincia('CN','CUNEO')
    province[province.length]=new objProvincia('NO','NOVARA')
    province[province.length]=new objProvincia('TO','TORINO')
    province[province.length]=new objProvincia('VB','VERBANIA-CUSIO-OSSOLA')
    province[province.length]=new objProvincia('VC','VERCELLI')
    regioni[regioni.length]=new objRegione('PIEMONTE',province)
    province = new Array()
    province[province.length]=new objProvincia('BA','BARI')
    province[province.length]=new objProvincia('BR','BRINDISI')
    province[province.length]=new objProvincia('FG','FOGGIA')
    province[province.length]=new objProvincia('LE','LECCE')
    province[province.length]=new objProvincia('TA','TARANTO')
    regioni[regioni.length]=new objRegione('PUGLIA',province)
    province = new Array()
    province[province.length]=new objProvincia('CA','CAGLIARI')
    province[province.length]=new objProvincia('NU','NUORO')
    province[province.length]=new objProvincia('OR','ORISTANO')
    province[province.length]=new objProvincia('SS','SASSARI')
    regioni[regioni.length]=new objRegione('SARDEGNA',province)
    province = new Array()
    province[province.length]=new objProvincia('AG','AGRIGENTO')
    province[province.length]=new objProvincia('CL','CALTANISSETTA')
    province[province.length]=new objProvincia('CT','CATANIA')
    province[province.length]=new objProvincia('EN','ENNA')
    province[province.length]=new objProvincia('ME','MESSINA')
    province[province.length]=new objProvincia('PA','PALERMO')
    province[province.length]=new objProvincia('RG','RAGUSA')
    province[province.length]=new objProvincia('SR','SIRACUSA')
    province[province.length]=new objProvincia('TP','TRAPANI')
    regioni[regioni.length]=new objRegione('SICILIA',province)
    province = new Array()
    province[province.length]=new objProvincia('AR','AREZZO')
    province[province.length]=new objProvincia('FI','FIRENZE')
    province[province.length]=new objProvincia('GR','GROSSETO')
    province[province.length]=new objProvincia('LI','LIVORNO')
    province[province.length]=new objProvincia('LU','LUCCA')
    province[province.length]=new objProvincia('MS','MASSA-CARRARA')
    province[province.length]=new objProvincia('PI','PISA')
    province[province.length]=new objProvincia('PT','PISTOIA')
    province[province.length]=new objProvincia('PO','PRATO')
    province[province.length]=new objProvincia('SI','SIENA')
    regioni[regioni.length]=new objRegione('TOSCANA',province)
    province = new Array()
    province[province.length]=new objProvincia('BZ','BOLZANO')
    province[province.length]=new objProvincia('TN','TRENTO')
    regioni[regioni.length]=new objRegione('TRENTINO-ALTO ADIGE',province)
    province = new Array()
    province[province.length]=new objProvincia('PG','PERUGIA')
    province[province.length]=new objProvincia('TR','TERNI')
    regioni[regioni.length]=new objRegione('UMBRIA',province)
    province = new Array()
    province[province.length]=new objProvincia('AO','AOSTA')
    regioni[regioni.length]=new objRegione('VALLE D\'AOSTA',province)
    province = new Array()
    province[province.length]=new objProvincia('BL','BELLUNO')
    province[province.length]=new objProvincia('PD','PADOVA')
    province[province.length]=new objProvincia('RO','ROVIGO')
    province[province.length]=new objProvincia('TV','TREVISO')
    province[province.length]=new objProvincia('VE','VENEZIA')
    province[province.length]=new objProvincia('VR','VERONA')
    province[province.length]=new objProvincia('VI','VICENZA')
    regioni[regioni.length]=new objRegione('VENETO',province)
    
    function creaRegioni(){
    	oo = document.NomeForm.regione.options
    	for(i=0;i<regioni.length;i++)
    		oo[oo.length]=new Option(regioni[i].nome,regioni[i].nome)
    }
    function svuotaOption(oo){
    	for(i=(oo.length-1);i>=0;i--)
    		oo[i]=null
    }
    function filtraProvince(reg){
    	oo = document.NomeForm.provincia.options
    	svuotaOption(oo)
    	if(reg=='')oo[oo.length]=new Option('Selezionare la Regione','')
    	else{
    		for(i=0;i<regioni.length;i++)
    			if(regioni[i].nome==reg){
    				pro = regioni[i].province
    				for(j=0;j<pro.length;j++)
    					oo[oo.length]=new Option(pro[j].nome,pro[j].codice)
    				i=regioni.length
    			}
    	}
    }
    function vai(ff){
    	pro = ff.provincia.options[ff.provincia.selectedIndex].value
    	if(pro!='')
    		alert(pro)
    }
    </script>
    </HEAD>
    <title>Regioni e Province</title>
    <BODY onload="creaRegioni()">
    <form name="NomeForm">
    <select name="regione" onchange="filtraProvince(this.options[this.selectedIndex].value)">
    	<option value="">Selezionare...</option>
    	<option value="">---------------</option>
    </select>
    <select name="provincia">
    	<option value="">Selezionare la Regione</option>
    </select>
    <input type="button" value="vai" onclick="vai(this.form)">
    </form>
    </BODY>
    </HTML>

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,093
    si sono pratic uguali

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.