Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    OnChange e select dinamiche

    Buongiorno.

    Con la ricerca ho trovato un esempio di select dinamiche che utilizzano il metodo onchange; nello script che ho impostato non so dove sbaglio ma non riesco a far popolare correttamente le select numero tre.

    Il problema è che se nella seconda select è presente più di una voce quando ne seleziono una la terza select si popola in modo corretto, mentre se nella seconda select ho una singola voce quando la seleziono la terza select nemmeno appare a video, eccovi il codice sperando che qualcuno riesca ad aiutarmi a capire l'arcano:

    codice:
    <%
    imp = request("imp")
    %>
    
            <select name="att" onChange="window.document.location='select.asp?att='+this.options[this.selectedIndex].value+'&imp=<%=imp%>';">
    
    <% 
    
    att_new = request.querystring("att")
    
    if trim(att_new) & "[]"<>"[]" then
    
    strSql = "SELECT ATT FROM Tab WHERE ID=" & att_new
    objRs.Open strSql, Cn, 3, 3
    if not objRs.eof then
    %> 
       
    <option value="<%=att_new%>"><%=objRs(0)%></option>
    
    <%
    end if
    objRs.close
    
    end if
    
    strSql = "SELECT * FROM Tab WHERE IMP = '"&IMP&"'"
    objRs.Open strSql, Cn, 3, 3
    
    If Not objRs.EOF Then
    Do While Not objRs.EOF
    
    %> 
             <option value= "<% = trim(objRs("id")) %>"><%  = objRs("ATT") %></option>
    <%
    objRs.MoveNext
    Loop
    End If
    objRs.Close
    %>
            </select>
          <%
    
    sID = request("att")
    
    if trim(sID) & "[]"<>"[]" then
    strSql = "SELECT * FROM Tab WHERE ID = "&sID
    objRs.Open strSql, Cn, 3, 3
    %>
            <select name="terza_select">
                 <option value="0">---</option>
    <%
    If Not objRs.EOF Then
    Do While Not objRs.EOF
    %>
              <option value= "<% = objRs("terza_select") %>"><%  = objRs("terza_select") %></option>
    <%
    objRs.MoveNext
    Loop
    End If
    objRs.Close
    %>
            </select>
            <% end if %>

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Così funziona ma non rimane memorizzato il valore nella seconda select, quando esegue l'onchange ritorna a "Selezionare valore"...

    codice:
    <%
    imp = request("imp")
    %>
    
            <select name="att" onChange="window.document.location='select.asp?att='+this.options[this.selectedIndex].value+'&imp=<%=imp%>';">
    
    
    <option>Seleziona valore</option> 
    
    
    <% 
    
    att_new = request.querystring("att")
    
    if trim(att_new) & "[]"<>"[]" then
    
    strSql = "SELECT ATT FROM Tab WHERE ID=" & att_new
    objRs.Open strSql, Cn, 3, 3
    if not objRs.eof then
    %> 
       
    <option value="<%=att_new%>"><%=objRs(0)%></option>
    
    <%
    end if
    objRs.close
    
    end if
    
    strSql = "SELECT * FROM Tab WHERE IMP = '"&IMP&"'"
    objRs.Open strSql, Cn, 3, 3
    
    If Not objRs.EOF Then
    Do While Not objRs.EOF
    
    %> 
             <option value= "<% = trim(objRs("id")) %>"><%  = objRs("ATT") %></option>
    <%
    objRs.MoveNext
    Loop
    End If
    objRs.Close
    %>
            </select>
          <%
    
    sID = request("att")
    
    if trim(sID) & "[]"<>"[]" then
    strSql = "SELECT * FROM Tab WHERE ID = "&sID
    objRs.Open strSql, Cn, 3, 3
    %>
            <select name="terza_select">
                 <option value="0">---</option>
    <%
    If Not objRs.EOF Then
    Do While Not objRs.EOF
    %>
              <option value= "<% = objRs("terza_select") %>"><%  = objRs("terza_select") %></option>
    <%
    objRs.MoveNext
    Loop
    End If
    objRs.Close
    %>
            </select>
            <% end if %>

  3. #3
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Dunque ne abbiamo già parlato... se non ricordo male... metti questa funzione in testa allo script:

    codice:
    Function isSelected(sValore, sParametro)
    isSelected = ""
    if sValore = sParametro then
    isSelected = " selected=""selected"" "
    end if
    end Function
    poi nella select che deve mantenere il valore selezionato:

    codice:
    Response.Write "<option value="""
    Response.Write attivita_sel
    Response.write """"
    Response.Write isSelected(att_new, att_new)
    Response.Write ">"
    Response.Write left(objRS(0),50) 
    Response.Write "</option>"
    L'ho scritta a memoria non so se funzionerà
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

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.