Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343

    select che modifica il suo contenuto in base alla scelta effettuata nel select preced

    salve ragazzi ho un quesito da porre:dovrei realizzare dei select che a seconda della seleziona effettuata il select successivo possegga dei valori dinamici
    es:
    i classici form di registrazione che chiedono provincia e dopo aver selezionato la provincia, ti permettono di selezionare il Comune di residenza
    tipo questo:
    modulo di registrazione

    qui posto il codice da me messo su che non funge:
    codice:
    <div class="item">
    				<label for="ente">ente *</label>
                	<select name="descrizione" class="input w300">
                <?		
    			$query ="SELECT * FROM enti";
    			$result = mysql_query($query) or die(mysql_error());
    			if (mysql_num_rows($result) > 0) 
    			{
    				while ($enti = mysql_fetch_assoc($result)) 
    				{
    				echo "<option value=\"".$enti["id_enti"]."\">".$enti["descrizione"]."</option>";
    			?>
               	</select>
    			</div>
                <div class="item">
    				<label for="ente">utente *</label>
                	<select name="user" class="input w300">
                <?
    				$query1 ="SELECT utenti.* FROM utenti WHERE cod_ente ='{$enti['id_enti']}'";
    				$result1 = mysql_query($query1) or die(mysql_error());   
    					if (mysql_num_rows($result1) > 0) 
    					{
    						while ($utenti = mysql_fetch_assoc($result1)) 
    						{
    						echo "<option value=\"".$utenti["id_utenti"]."\">".$utenti["user"]."</option>";
    						}
    					}
    				mysql_free_result($result1);
    				}
    			}
    			mysql_free_result($result);
    			?>
            	</select>
    			</div>

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    ci vuole ajax

  3. #3
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    la scelta dell'utente non è prevedibile lato server.
    Hai la possibilità di farlo in javascript. Appena l'utente sceglie appare visibile l'opzione di conseguenza.
    Oppure dopo la scelta l'utente schiaccia un "submit", invia al server la sua scelta e il server rispedisce (probabilmente nella stessa pagina) la visualizzazione secondo l'opzione.
    spero di essere stato chiaro. ciao

    p.s.
    mi hanno preceduto!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    c'è qualke tutorial che mi aiuti a realizzare ciò...grazie

  5. #5
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Prova a cercare nel forum:

    select provincie

    oppure

    select regioni

    oppure

    select dinamiche

    Ho dato una occhiata a questa, c'è una interessante spiegazione di fcaldera senza l'uso di ajax: http://forum.html.it/forum/showthrea...readid=1123670
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    puoi fare anche javascript statico senza passare sul server con ajax

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    buonasera ragazzi...sembra che ho quasi risolto con un tutorial di jquery,ma...

    codice:
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
    // Select Province e Comuni dalla Regione. 
    function selProvCom(idRegion) {
      // Seleziono province di questa regione. 
      $.get("select.php", { regionid: idRegion, requestItems: 'province'}, 
      function(dataProvince){
        $("select[id='province']").empty();
        var options = '<option value="">-- seleziona --</option>';
        var arrayProvince = dataProvince.split( '||');
        for (var i = 1; i < arrayProvince.length; i++) {
          var provincia = arrayProvince[i].split( /,/);
          options += '<option value="' + provincia[0] + '">' + provincia[1] + '</option>';
        }
        $("select[id='province']").html(options);
      });
      // Seleziono comuni di questa regione. 
      $.get("select.php", { regionid: idRegion, requestItems: 'comuni'}, 
      function(dataComuni){
        $("select[id='city']").empty();
        var options = '<option value="">-- seleziona --</option>';
        var arrayComuni = dataComuni.split( '||');
        for (var i = 1; i < arrayComuni.length; i++) {
          var comune = arrayComuni[i].split( /,/);
          options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
        }
        $("select[id='city']").html(options);
      });
    }
    
    // Select Comuni dalla Provincia. 
    function selCom(idProvincia) {
      // Seleziono comuni di questa provincia. 
      $.get("select.php", { provinciaid: idProvincia, requestItems: 'comuni'}, 
      function(dataComuni){
        $("select[id='city']").empty();
        var options = '<option value="">-- seleziona --</option>';
        var arrayComuni = dataComuni.split( '||');
        for (var i = 1; i < arrayComuni.length; i++) {
          var comune = arrayComuni[i].split( /,/);
          options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
        }
        $("select[id='city']").html(options);
      });
    }
    </script>
    
    <form action="cred.php" method="post" id="frm_menu" name="frm_menu">
    
    
    
    <label for="region">Regione:</label>
    
    <select id="region" name="region" onchange="selProvCom(this.value);">
    <option value="" selected="selected">-- seleziona --</option>
    <?php
    // Collegamento ad database. 
    include("dbconfig.php");
    
    // Query selezione tutte le regioni. 
    $sql = "select * from enti order by descrizione"; 
    
    // Eseguo la query. 
    $result = mysql_query($sql, $conn); 
    while($region = mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $region['id_enti']; ?>"><?php echo $region['descrizione']; ?></option>
    <?php
    }
    ?>
    </select>
    </p>
    
    
    
    <label for="province">Provincia:</label>
    
    <select id="province" name="province" onchange="selCom(this.value);">
    <option value="" selected="selected">-- seleziona --</option>
    <?php
    
    // Query selezione tutte le province. 
    $sql = "select * from utenti order by user"; 
    
    // Eseguo la query. 
    $result = mysql_query($sql, $conn); 
    while($province = mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $province['id_utenti']; ?>"><?php echo $province['user']; ?></option>
    <?php
    }
    ?>
    </select>
    </p>
    
    
    
    <label for="city">Città:</label>
    
    <select id="city" name="city">
    <option value="" selected="selected">-- seleziona --</option>
    </select>
    </p>
    <h4>login</h4>
    				<div class="item">
    					<label for="user">user *</label>
    					<input id="user" name="user" type="text" class="input w300 required" />
    				</div>
    				<div class="item">
    					<label for="password">password *</label>
    					<input class="input w300 required" name="password" type="password" />
    				</div>
                    <div class="form-submit">
    			<input type="submit" value="salva" onclick="this.form.action='inserisci_login.php'"/>
    		</div>
    		</form>
    ma non riesco a passare il valore del campo city che viene restiuto da jquery alla pagina inserisci_login.php

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    intanto toglierei l'action dalla form
    da
    <form action="cred.php" method="post" id="frm_menu" name="frm_menu">
    a
    <form method="post" id="frm_menu" name="frm_menu">
    non so se gli dava noia, ma tanto non serve


    poi ti manca il submit
    da
    <input type="submit" value="salva" onclick="this.form.action='inserisci_login.php'"/>
    a
    <input type="submit" value="salva" onclick="this.form.action='inserisci_login.php'; this.form.submit();"/>

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    grazie ora sembra andar meglio,ma c'è una "piccola" diversità di esecuzione a seconda del browser utilizzato:
    se lo eseguo su mozilla è tutto ok
    mentre su ie no

    guardate quest'immagine:

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    effettivamente molto strano, anche perchè si accorge che comunque sono tre valori, ma undefined

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.