+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 2 su 2

Popolare select tramite altro select

  1. #1
    anto16 non è in linea Scolaretto
    Post
    55
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve a tutti,
    grazie al post http://forum.masterdrive.it/html-css...-select-14810/

    ed al codice che riposto qui sotto, realizzato da Master85, che ringrazio per la professionalità e disponibilità, sono riuscito a risolvere diversi problemi

    codice HTML:
    <html>
    	<head>
    		<title>Popolare SELECT da SELECT</title>
    		<script type="text/javascript">
    			//Dichiaro l'array myMenu'
    			var myMenu = new Array();
    			
    			//Definisco le voci del menu'
    			myMenu['cat_a'] = new Array(); //Prima categoria
    			myMenu['cat_a']['value1'] = 'Prima opzione';
    			myMenu['cat_a']['value2'] = 'Seconda opzione';
    			myMenu['cat_a']['value3'] = 'Terza opzione';
    			myMenu['cat_b'] = new Array(); //Seconda categoria
    			myMenu['cat_b']['value4'] = 'Quarta opzione';
    			myMenu['cat_b']['value5'] = 'Quinta opzione';
    			myMenu['cat_b']['value6'] = 'Sesta opzione';
    			myMenu['cat_c'] = new Array(); //Seconda categoria
    			myMenu['cat_c']['value7'] = 'Settima opzione';
    			myMenu['cat_c']['value8'] = 'Ottava opzione';
    			myMenu['cat_c']['value9'] = 'Nona opzione';
    			
    			function popola_select(){
    				var select = document.forms['myForm'].mySelect; //Recupero la SELECT
    				var subselect = document.forms['myForm'].mySubSelect; //Recupero la seconda SELECT
    				
    				// Recupero la categoria selezionata
    				var cat = select.options[select.selectedIndex].value;
    				
    				//Controllo che sia stata selezionata una categoria valida
    				if(cat.length != 0){
    					//Azzero il contenuto della seconda select
    					for (var i = subselect.length - 1; i >= 0; i--)
    						subselect.remove(i);
    					
    					//Popolo la seconda Select
    					for(value in myMenu[cat]){
    						//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
    						var NewOpt = document.createElement('option');
    						NewOpt.value = value; // Imposto il valore
    						NewOpt.text = myMenu[cat][value]; // Imposto il testo
    						
    						//Aggiungo l'elemento option
    						try{
    							subselect.add(NewOpt, null); //Metodo Standard, non funziona con IE
    						}catch(e){
    							subselect.add(NewOpt); // Funziona solo con IE
    						}
    					}
    					
    				}
    			}
    		</script>
    	</head>
    	<body>
    		<form name="myForm" method="post" action="...">
    			<select name="mySelect" onChange="popola_select()">
    				<option value="">-> Seleziona una Categoria</option>
    				<option value="cat_a">Prima Categoria</option>
    				<option value="cat_b">Seconda Catgoria</option>
    				<option value="cat_c">Terza Categoria</option>
    			</select>
    			<br />
    			<br />
    			<select name="mySubSelect"></select>
    		</form>
    	</body>
    </html>
    ho provato, da neofita, ad inserire altre 3 caselle, ma purtroppo non riesco.
    qualcuno riuscirebbe a darmi un aiuto?
    Grazie davvero

  2. #2
    Zigo non è in linea Scolaretto
    Post
    498
    Like Inviati  
    0
    Like Ricevuti  
    0
    Direi che non centra niente con il php.. sarebbe meglio chiedere/spostare nel forum javascript.
    Ad ogni modo per inserire nuove voci nelle select (è questo che intendi per casella?), ti basta modificare così:

    nel codice js, dove vedi l'oggetto myMenu
    myMenu['cat_d'] = new Array(); //Quarta categoria
    myMenu['cat_d']['value10'] = '10 opzione';
    myMenu['cat_d']['value11'] = '11 opzione';
    myMenu['cat_d']['value12'] = '12 opzione';
    
    e nel codice html:
    <option value="cat_d">Quarta Categoria</option>
    
    ℹ️ Leggi di più su Zigo ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 1
    Ultimo Post: 05-12-2009, 09:20
  2. [Javascript]Popolare select tramite altro select
    Da Eugene nel forum HTML, CSS e JavaScript
    Risposte: 4
    Ultimo Post: 26-03-2008, 00:36
  3. Popolare 2 select
    Da milano01 nel forum PHP
    Risposte: 1
    Ultimo Post: 26-03-2008, 00:32
  4. [Javascript]Popolare input tramite select
    Da Eugene nel forum HTML, CSS e JavaScript
    Risposte: 2
    Ultimo Post: 02-10-2006, 01:06
  5. Risposte: 5
    Ultimo Post: 15-10-2005, 01:13