Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304

    select dinamica,option selected

    ciao a tutti!
    Ho un motore di ricerca interno - costruito grazie ad alcuni vostri preziosi suggerimenti - composto da due select, la prima relativa a "località", la seconda a "quartieri".
    Alla scelta di una opzione nella prima select, con javascript e asp faccio comparire, nella seconda, solo le option utili: certi quartieri solo per certe zone o località.
    La pagina si ricarica, solo che non rimane selezionata l'opzione della prima select, effetto che vorrei ottenere grazie a questo 3d.
    vi posto il codice:

    codice:
    <form action="annunci.asp?orderby=yes" method="post" name="cercaannunci">
    <select name="localita" onchange="window.location.href='annunci.asp?zona='+this.value;">
    																<option value="" >Tutte</option>											<% 
    	dim rsLocalita, sqlLocalita
    	set rsLocalita = server.CreateObject("ADODB.recordset")
    	sqlLocalita = "SELECT * FROM Localita"
    	rsLocalita.open sqlLocalita, objConn
    %>
    																<% DO UNTIL rsLocalita.eof %>
    <option value="<%= rsLocalita("localita")%>"><%= rsLocalita("localita")%></option>		<% 																   rsLocalita.movenext 													   loop 															 %>
    </select>
    <select name="quartieri">
    <option value="tutti" >Tutti</option>
    <%
    dim zona
    zona = request.QueryString("zona")
    																if zona <> "" then
    																	dim rs1, sql1
    	set rs1 = server.CreateObject("ADODB.recordset")
    	sql1 = "SELECT Quartieri.* FROM Localita INNER JOIN Quartieri ON Localita.ID = Quartieri.id_localita Where Localita.localita = '" & zona & "'"
    																	rs1.open sql1, objConn
    %>
    															  <% DO UNTIL rs1.eof %>
    															  <option value="<%= rs1("quartiere")%>"><%= rs1("quartiere")%></option>
    <% 
    	rs1.movenext 
    	loop 
    %>
    <% else 
    	dim rs2,sql2
    	set rs2 = server.CreateObject("ADODB.recordset")
    	sql2 = "SELECT * FROM Quartieri" 
    	rs2.open sql2, objConn
    %>
    <% DO UNTIL rs2.eof %>
    <option value="<%= rs2("quartiere")%>"><%= rs2("quartiere")%></option>
    <% 
    	rs2.movenext 
    	loop 
    %>
    <% end if %>
    </select>
    <input type="image" src="images/freccia_vai2.gif" name="invia" value="invia"> 
    <input type="hidden" value="invia" name="invia">
    </form>
    L'obiettivo è, ripeto, fare in modo che la scelta nella prima select, dopo il caricamento della pagina, rimanga selezionata.
    Vi ringrazio in anticipo!


    p.s.: se voleste vederne il funzionamento, questo è il link. Il motore è nella home e nella pagina degli annunci.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <option value="<%= rsLocalita("localita")%>"<%if rsLocalita("localita") = localita then%> selected="selected"<%end if%>><%= rsLocalita("localita")%></option>
    Roby

  3. #3
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    innanzitutto grazie! Roby sei sempre disponibile!
    ho fatto così:

    codice:
    <select name="localita" onchange="window.location.href='annunci.asp?zona='+this.value;">
    <option value="" >Tutte</option>
    <% 
    	dim rsLocalita, sqlLocalita,zona
    	zona = request.QueryString("zona")  -------> la inizializzo qui sennò non riceve nessun valore
    	set rsLocalita = server.CreateObject("ADODB.recordset")
    	sqlLocalita = "SELECT * FROM Localita"
    	rsLocalita.open sqlLocalita, objConn
    %>
    <option value="<%= rsLocalita("localita")%>"<%if rsLocalita("localita") = zona then%> selected<%end if%>><%= rsLocalita("localita")%></option>
    <% DO UNTIL rsLocalita.eof %>
    <option value="<%= rsLocalita("localita")%>"><%= rsLocalita("localita")%></option>
    <% 
    	rsLocalita.movenext 
    	loop 
    %>
    </select>
    <select name="quartieri">
    <option value="tutti" >Tutti</option>
    <%
     'dim zona
     'zona = request.QueryString("zona") -----> qui ho remmato, zona me lo ricavo prima a questo punto
     if zona <> "" then
    	dim rs1, sql1
    	set rs1 = server.CreateObject("ADODB.recordset")
    	sql1 = "SELECT Quartieri.* FROM Localita INNER JOIN Quartieri ON Localita.ID = Quartieri.id_localita Where Localita.localita = '" & zona & "'"
    																															  %>
    <% DO UNTIL rs1.eof %>
    <option value="<%= rs1("quartiere")%>"><%= rs1("quartiere")%></option>
    <% 
    	rs1.movenext 
    	loop 
    %>
    <% else 
    	dim rs2,sql2
    	set rs2 = server.CreateObject("ADODB.recordset")
    	sql2 = "SELECT * FROM Quartieri" 
    	rs2.open sql2, objConn
    %>
    <% DO UNTIL rs2.eof %>
    <option value="<%= rs2("quartiere")%>"><%= rs2("quartiere")%></option>
    <% 
    	rs2.movenext 
    	loop 
    %>
    <% end if %>
    Non cambia nulla, tranne per il fatto che una option - la prima - me la scrive due volte..

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ho capito.
    Non ti serve solo la prima select?

    Roby

  5. #5
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Si. Quello che mi hai suggerito penso possa andare, ma non funge.
    Il pratica quando scelgo una località, questa, al caricamento della pagina, deve rimanere selezionata. Anche con "selected", però, non funge..
    faccio che pubblicare online tutto, così vedi la differenza...

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma scusa la prima select si chiama "localita", perché ci metti la zona invece nel confronto?

    Roby

  7. #7
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    mah, in effetti...

    però il valore che passo dall'onchange è relativo a "zona":

    codice:
    <select name="localita" onchange="window.location.href='annunci.asp?zona='+this.value;">
    Io me l'ero immaginata così, ma sono molto a digiuno di javascript, ed ho cercato di fare qualcosa che funzionasse..
    Alla fine credo sia solo una differente variabile che passo in querystring, dici che cambia tutto se ne cambio il nome?

  8. #8
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    ho provato a cambiare anche quello ma non cambia nulla..
    cosa c'è di sbagliato?

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Fatti stampare quello che recuperi.
    Così verifichi.

    Roby

  10. #10
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    scusa ma in questo caso cosa dovrei stampare? Non è sufficiente controllare la querystring? :master:
    scusami non capisco.. :rollo:

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.