Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Ok, vediamo se riesco a spiegarmi meglio.
    Ho cinque radio button e un menu a tendina, in base al radio button selezionato devono cambiare automaticamente le informazioni del menu a tendina.
    Le informazioni del menu a tendina vengono prese da una tabella in un database.
    La tabella viene filtrata in base all'id del radio button selezionato.
    Spero di essermi spiegata meglio.

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da ElyCucciola Visualizza il messaggio
    Ok, vediamo se riesco a spiegarmi meglio.
    Ho cinque radio button e un menu a tendina, in base al radio button selezionato devono cambiare automaticamente le informazioni del menu a tendina.
    Le informazioni del menu a tendina vengono prese da una tabella in un database.
    La tabella viene filtrata in base all'id del radio button selezionato.
    Spero di essermi spiegata meglio.
    Ti sei spiegata...
    Per fare quello che chiedi devi usare AJAX...
    quando clicchi cul 2ndo radio devi chiamare una routine sul server che faccia la query con il parametro per la seconda classe.... e cosi via per le altre classi. La routine sul server deve creare la select completa e alla risposta il client deve caricare il codice di risposta dal server nella select con l'istruzione "innerhtml"...
    Piu difficile a spiegarlo che a farlo se sei a digiuno di Ajax....posso aiutarti a scrivere il codice occorrente per il tuo problema.
    Vic53

  3. #3
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da vic53 Visualizza il messaggio
    Ti sei spiegata...
    Per fare quello che chiedi devi usare AJAX...
    quando clicchi cul 2ndo radio devi chiamare una routine sul server che faccia la query con il parametro per la seconda classe.... e cosi via per le altre classi. La routine sul server deve creare la select completa e alla risposta il client deve caricare il codice di risposta dal server nella select con l'istruzione "innerhtml"...
    Piu difficile a spiegarlo che a farlo se sei a digiuno di Ajax....posso aiutarti a scrivere il codice occorrente per il tuo problema.
    Per aiutarti ti ho preparato due file che ho testato sul miio server...
    la tabella Scuola che ho usato per test è composta da
    id - numerico intero long
    classe - numerico long
    nome stringa
    cognome stringa
    il primo file l'ho chiamato menuClasse.asp ed è il seguente e utilizza una chiamata AJAX
    codice:
    <html>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>prima</title>
    <head>
    <script type="text/javascript">
    function Attiva(classe) {
    //alert(classe);
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("alunno").innerHTML = this.responseText;
                }
          };
           xmlhttp.open("GET", "getClasse.asp?q=" + classe, true);
           xmlhttp.send();
    }
    </script>
    <style> 
    .flex-container {
        display: -webkit-flex;
        display: flex;
        width: 100%;
        height: 50px;
        background-color: lightgrey;
        justify-content: space-between;
    }
    
    .flex-item {
        background-color: #66CCFF;
        width: 150px;
        height: 24px;
        margin: 10px;
        text-align:center;
        border: 2px solid;
        border-radius: 10px;
    }
    </style>
    </head>
    <body>
    
    <div class="flex-container">
      <div class="flex-item">prima&nbsp;<input type="radio" value="1" name="Classe"  onclick="Attiva(this.value)"></div>
      <div class="flex-item">seconda&nbsp;<input type="radio" value="2" name="Classe"  onclick="Attiva(this.value)"></div>
      <div class="flex-item">terza&nbsp;<input type="radio" value="3" name="Classe"  onclick="Attiva(this.value)"></div>  
      <div class="flex-item">quarta&nbsp;<input type="radio" value="4" name="Classe"  onclick="Attiva(this.value)"></div>
      <div class="flex-item">quinta&nbsp;<input type="radio" value="5" name="Classe"  onclick="Attiva(this.value)"></div>  
    </div>
    <table>
    <tr>
    <td>&nbsp;ALUNNI&nbsp;</td>
    <td><div id="alunno"></div>
    </td>
    </tr>
    </table>
    </body>
    </html>
    per quanto riguarda il subprogram sul server l'ho chiamatogetClasse.asp ed è il seguente

    codice:
    <%
    dim q, str,SQL,conn,RS,DB,CurrentProject,nome,cognome,idt 
    'imposta il db appropriato...
    DB="mdb-database/DB_test.mdb" 
    
    Set conn  = Server.CreateObject("ADODB.Connection") 
    Set RS = Server.CreateObject("ADODB.Recordset")
    'utilizzo il driver pe Access 2000/2003
    CurrentProject = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ="& Server.MapPath(DB)
    'Apro la connessione
    conn.Open CurrentProject
    '
    ' parametro classe selezionato da input radio via querystring
    '
    for i=1 to Request.QueryString("q").Count 
      q =  Request.QueryString("q")(i)
    next
    
    str="<select id=""alunno"" size=""1"" tabindex=""1"" style=""width: 300px""><option value="""">scelta</option>"
    '
    ' la variabile "str" verra caricata con il risultato della query
    '
    '
    ' la classe è identificata da un numero tipo 1, 2, 3, 4, 5
    ' per il tipo numerico. se la classe è identificata da "prima", "seconda"..."quinta
    ' devi sostituire con una variabile di tipo stringa racchiusa tra apice singolo
    SQL="select * from Scuola where Classe="&q
    RS.Open SQL, conn, 3, 3
    if not RS.EOF then
     do until RS.EOF
      idt=RS("id")
      nome=RS("nome")
      cognome=RS("cognome")
      ' implemento str
      str=str&"<option value="""&idt&""">"&nome&" "&cognome&"</option>"
     RS.movenext
     loop
    end if
    RS.Close
    conn.close
    'fine select
    str=str&"</select>"
    response.write(str)
    %>
    ora devi caricare i dati della tabella scuola e provare
    per quanto riguarda la grafica poi puoi fare quello che ti pare, io ho usato flexbox al posto di table per
    definire i radio button
    studiaci su e poi vedi se passi oltr il tuo intoppo...

    Ciao
    Vic53

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.