Visualizzazione dei risultati da 1 a 10 su 10

Discussione: 2 menu a tendina

  1. #1

    2 menu a tendina

    ciao,
    avrei bisogno di un js che avendo 2 menu atendina... selezionato una voce dal primo cambino le voci nel secondo a seconda della voce selezionata...

    grazie.

  2. #2
    provato a effettuare una ricerca?
    l'argomento è stato trattato numerose volte.

    ciao

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    minimo 2 discussioni linkate in script / discussioni utili
    se usi la ricerca trovi almeno altri 10 esempi
    ciao

  4. #4

  5. #5
    ora sorge un problema... io devo pescare le varie voci del secondo menu a tendina da un database mysql con PHP... è possibile fare una cosa del genere?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se intendi caricare solo i dati necessari di volta in volta,
    si', ma devi inviare una nuova richiesta al server, quindi puoi

    - ricaricare la pagina passando una querystring (o inviando direttamente il form!), con php includi oppure fai scrivere la seconda select

    - caricare i nuovi dati in un frame/iframe oppure in popup e poi facendoli passare via js all' altro documento

    chiaramente la prima soluzione e' preferibile
    ciao

  7. #7
    grazie, ma io volevo usare javascript (cosa che non conosco) xchè pensavo si potesse fare senza refreshare la pagina...

    allora lo farò in PHP come le altre volte... grazie lo stesso...

  8. #8
    se vuoi ho uno script pronto che da 2 query su mysql fatte con php dà in output le 2 select box che si autopopolano (e che poi interagiscono lato client).
    se serve ancora lo posto

    Ciao

  9. #9
    se a seconda della selezione cambia la seconda... postalo, grazie.

  10. #10
    Eccola,

    codice:
    <select name="CAMPO_PADRE" class="box" size="1" style="width: 100%" onchange="elabora();">
    				<?
    				$QUERY = "Select nomecampo FROM  nometabella ";
    		        $RES 	 = mysql_query($QUERY) or die("Query non valida");
    		        echo "<OPTION VALUE=\"0\">Seleziona</OPTION>";
    		        WHILE ($ROW = mysql_fetch_array($RES)) {
    					 echo "<OPTION VALUE=\"".$ROW[id]."\"";
    					 IF ($ROWcall['CAMPO_PADRE'] == $ROW[id]) echo " selected";
    					 echo ">".$ROW[segnalazione]."</OPTION>\n";
    	   	 			 $popola_JS = mysql_query("SELECT * FROM nometabella1 WHERE id = '".$ROW['id']."' ORDER BY campochevuoi ASC");
    		 			 $sub_JS    = " else if ( hForm.CAMPO_PADRE.value == ".$ROW[id]." ) {\n";
    					 $main      = "var sub_".$ROW[id]." = new Array (\"Seleziona...\"";
    					 $mainVal   = "var val_".$ROW[id]." = new Array (\"0\"";
    					 $comma = "";
    					 $k = 0;
    		 			 WHILE ($row_JS = mysql_fetch_array($popola_JS)) {
    				 		$comma = ", ";
    					  	$main 	 .= $comma."\"".$row_JS[categoria]."\"";
    						$mainVal .= $comma."\"".$row_JS[id_categoria]."\"";
    						IF ($row_JS[id_categoria] == $ROWcall['CAMPO_FIGLIO']) $selezionato = "hForm.CAMPO_FIGLIO.options[j].selected = true;\n";;
    						$k++;
    					 }
    		 			 $main   .= ");\n";
    					 $mainVal.= ");\n";
    
    					 $sub_JS .= "hForm.CAMPO_FIGLIO.options.length = 0; // reset \n";
    					 $sub_JS .= "hForm.CAMPO_FIGLIO.options.length = sub_".$ROW[id].".length;\n";
    
    					 $sub_JS .= "for ( var j=0; j<sub_".$ROW[id].".length; j++) {	\n";
    					 $sub_JS .= "hForm.CAMPO_FIGLIO.options[j].text = sub_".$ROW[id]."[j];\n";
    					 $sub_JS .= "hForm.CAMPO_FIGLIO.options[j].value = val_".$ROW[id]."[j];\n";
    					 $sub_JS .= $selezionato;
    					 $sub_JS .= "		}\n";
    					 $sub_JS .= "}\n";
    
    					 $sub_JS_TOT = $sub_JS_TOT.$sub_JS;
    					 $main_tot = $main_tot.$main.$mainVal;
    					 unset($main);
    					 unset($mainVal);
    					 unset($comma);
    					 unset($sub_JS);
    					 unset($selezionato);
    			  	$i++;
    				}
    				mysql_free_result($RES);
    				?>
    				</select>
    				
    				<select name="CAMPO_FIGLIO" class="box" size="1" style="width:100%">
    				</select>
    				
    				<script language="JavaScript">
    		  		<!--
    
    		  		function elabora ()
    		  		{
    		  		var hForm = document.registra;
    
    		  		var sub_0 = new Array ("Nessuna Categoria...");
    		  		var val_0 = new Array ("0");
    		  		<?
    		  		echo $main_tot;
    		  		?>
    		  		if ( hForm.CAMPO_PADRE.value == 0 )
    		  		{
    		     	hForm.CAMPO_FIGLIO.options.length = 0; // reset
    		  		hForm.CAMPO_FIGLIO.options.length = sub_0.length;
    
    		  		for ( var j=0; j<sub_0.length; j++) {
    		  		hForm.CAMPO_FIGLIO.options[j].text = sub_0[j];
    		  		hForm.CAMPO_FIGLIO.options[j].value = val_0[j];
    		  		}
    		  		}
    		  		<?
    		  		echo $sub_JS_TOT;
    		  		?>
    		  		}
    		  		elabora ();
    
    		  		// -->
    		  		</script>

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.