Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    15

    Visualizzazione di una select in base al valore scelto di un altra select.

    Salve,

    Ho questo problema, dovrei visualizzare le scelte di una select in base al valore selezionato in una altra select senze rifare l'upload della pagina.

    Di seguito il codice da modificare :


    function selezione()
    {
    for(i=0;i<document.modulo.TipoPrestaz.length;++i)
    if(document.modulo.TipoPrestaz.options[i].selected == true)
    alert(document.modulo.TipoPrestaz.options[i].value);
    }



    NEL BODY HO IL SEGUENTE CODICE : :

    <input NAME="DataIns" Size="10" Value="<% Response.Write data %>">
    Tipo di Prestazione :

    <select name="TipoPrestaz" onchange="selezione()" size="1" style="color: #000000">
    <option>Seleziona................................. .................
    </option>
    <option value="PRENOTAZIONE PRESSO STRUTTURA">PRENOTAZIONE PRESSO
    STRUTTURA</option>
    <option value="ASSISTENZA DOMICILIARE">ASSISTENZA DOMICILIARE</option>
    </select>[b]


    L' onchance funziona in quanto con l'alert vedo il valore selezionato, adesso quel valore vorrei usarlo magari mettendolo in una variabile chiamata "selezionato", per poter condizionare i valori da visualizzare nella successiva select del mio form :


    <%
    If selezionato = "PRENOTAZIONE PRESSO STRUTTURA" Then
    Dim MostraClienti
    Set MostraClienti = Con.Execute("SELECT * FROM Clienti WHERE Societa <> ' ' ORDER BY Societa ASC")
    While MostraClienti.EOF = False
    %>
    <option value="<%=MostraClienti("Societa")%>"><%=MostraCli enti("Societa")%></option>
    <%
    MostraClienti.MoveNext
    Wend
    %>
    <%
    End If
    %>

    </select></font>


    COME POSSO FARE ??

    Un GRAZIE maiuscolo a chi mi darà una mano.

  2. #2
    eccomi!!!
    appena accedi alla pagina la seconda select è già compilata o si compila successivamente?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    15
    No se non metto l'IF esce già compilata.

  4. #4
    inserisci il seguente script nell'head della tua pagina
    codice:
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
    </script>
    e poi nella prima select aggiungi l'evento onchange
    codice:
    onChange="MM_jumpMenu('self',this,0)"
    in questo modo
    codice:
    <select name="elencoRegioni" size="1" class="inputSearch" onChange="MM_jumpMenu('self',this,0)">

  5. #5
    poi sempre nella prima select metti il nome della pagina in cui sei e aggiungi un querystring con un valore diverso per ogni option (un id se i dati sono presi da database, oppure un valore univoco, un codice, o un numero, come preferisci)
    in modo che le tue option diventino così

    codice:
    <option value="miapagina.asp?val=pren_strut">PRENOTAZIONE PRESSO 
    STRUTTURA</option>
    oppure così

    codice:
    <option value="miapagina.asp?val=1">PRENOTAZIONE PRESSO 
    STRUTTURA</option>

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    15
    Devo inserirla al posto della mia function selezione ?
    E poi come faccio a settare la variabile contenente il valore selezionato
    nella prima select per condizionare la visualizzazione delle scelte della seconda ?

    Scusami se chiedo troppo WAMA potresti indicarmi il tutto nel codice che ti ho postato ???

  7. #7
    non avevo ancora finito la spiegazione...
    modifico il tuo codice

    <input NAME="DataIns" Size="10" Value="<% Response.Write data %>">
    Tipo di Prestazione :

    <select name="TipoPrestaz" onChange="MM_jumpMenu('self',this,0)" size="1" style="color: #000000">
    <option>Seleziona................................. .................
    </option>
    <option value="miapagina.asp?val=pren_strut">PRENOTAZIONE PRESSO
    STRUTTURA</option>
    <option value="ASSISTENZA DOMICILIARE">ASSISTENZA DOMICILIARE</option>
    </select>[b]

  8. #8
    la tua funzione selezione puoi momentaneamente tenerla nella pagina, se non la richiami non fa nulla, se vuoi la puoi commentare, così sei sicuro che non ti crei pasticci nella pagina.

    inserisci però quella che ti ho postato io, la metto di nuovo qui sotto
    codice:
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
    </script>

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    15
    WAMA ho fatto come hai detto ed ho avuto questo errore quando ho selezionato nella prima select :


    Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

    ODBC driver does not support the requested properties.

    /privato/insert_richieste.asp, line 63


    LA RIGA 63 è la seguente :

    Set rst = Server.CreateObject("ADODB.Recordset")
    rst.Open strSQL, con, adOpenStatic, _
    adLockReadOnly, adCmdText


    Poi volevo chiederti per la seconda select basta che controllo con l'if la variabile
    pren_strut ?

  10. #10
    Per quell'errore prova a fare così (in rosso le modifiche)

    Set rst = Server.CreateObject("ADODB.Recordset")
    rst.Open strSQL, con, adOpenDynamic , _
    adLockOptimistic , adCmdText

    per la seconda select la vai a riempire in base al valore del queryString val
    ti riscrivo il tuo codice con qualche modifica. (le cose in rosso prima di tutto e poi sposto anche qualche elemento)

    codice:
    <%
    If Request.QueryString("val") = "pren_stru" Then
    slq_mostra_cli =  Con.Execute("SELECT * FROM Clienti WHERE Societa <> ' ' ORDER BY Societa ASC")
    ElseIf Request.QueryString("val") = "ass_domi" Then
    sql_mostra_cli = Con.Execute("select ....")
    
    End If
    
    Dim MostraClienti
    Set MostraClienti =slq_mostra_cli 
    While MostraClienti.EOF = False
    %> 
    <option value="<%=MostraClienti("Societa")%>"><%=MostraClienti("Societa")%></option>
    <%
    MostraClienti.MoveNext
    Wend
    %>
    tutto chiaro?

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.