Ciao e bentrovati.
Ho provato con la ricerca ma con scarso risultato... uno script funzionante per select dinamiche realizzato con ASP e AJAX... dove lo trovo?
Grazie-
Ciao e bentrovati.
Ho provato con la ricerca ma con scarso risultato... uno script funzionante per select dinamiche realizzato con ASP e AJAX... dove lo trovo?
Grazie-
diciamo che hai 3 select, che si aggiornano a cascata, ovvero a seconda di quello che scegli nella prima si popola la seconda e a seconda di quello che scegli nella seconda si carica la terza.
ok? it's easy. well:
con asp carichi staticamente la prima select. All'onchange della prima select richiami una funzione javascript per caricare la seconda select. Nella seconda select uguale ci sarà una funzione javascript che all'onchange carica la terza
la parte in asp è banale, la parte in javascript pure, ma se vuoi qualche suggerimento ci sono i javascriptisti
![]()
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Grazie fino qua ci sono arrivato.Originariamente inviato da Santino83_02
diciamo che hai 3 select, che si aggiornano a cascata, ovvero a seconda di quello che scegli nella prima si popola la seconda e a seconda di quello che scegli nella seconda si carica la terza.
ok? it's easy. well:
con asp carichi staticamente la prima select. All'onchange della prima select richiami una funzione javascript per caricare la seconda select. Nella seconda select uguale ci sarà una funzione javascript che all'onchange carica la terza
la parte in asp è banale, la parte in javascript pure, ma se vuoi qualche suggerimento ci sono i javascriptisti
![]()
Il problema è che non vorrei utilizzare javascript ma ajax per evitare il fastidioso ricaricamento della pagina web tramite l'evento:
Come in questa pagina web:codice:onChange="window.location='Default.asp?str='+this.options[this.selectedIndex].value;"
http://seagate.custhelp.com/cgi-bin/...p?p_faqid=4474
Prova a selezionare un valore dalla select "Search by product" si apriranno in sequenza altre select nelle quali selezionare altri valori e così via... sino a 5 livelli.
Come si realizza?
già che mi dici "voglio usare ajax e non javascript", ti suggerisco di cambiare forum e parlare con quelli di javascript. asp c'entra ben poco, al piu puoi fare (via ajax) una request ad una pagina asp specifica che ti da i valori, in xml magari, da dover mettere nelle select...cmq se ti manca tutta la parte in javas, chiedi dall'altra parte
![]()
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Ci sono riuscito.![]()
Questa è default.asp
Questa è selectcustomer.js :codice:<script src="selectcustomer.js"></script> <% response.Expires = -1 response.AddHeader "PRAGMA", "NO-CACHE" response.AddHeader "CACHE-CONTROL", "PRIVATE" response.CacheControl = "PRIVATE" session.LCID = 1040 Function SELECTED(firstVal, secondVal) If cSTR(firstVal) = cSTR(secondVal) then SELECTED = " SELECTED" End If End Function SQL = "SELECT CODICE " SQL = SQL & " FROM " SQL = SQL & " tbl " SQL = SQL & " GROUP BY CODICE " SQL = SQL & " ORDER BY CODICE ASC " set rs = Server.CreateObject("ADODB.recordset") rs.Open sql, cn response.write("<table>") %> <form> <% if request.querystring("q") = "" then %> <select size="1" name="customers" onchange="showCustomer(this.value)"> <option>Selezionare</option> <% do until rs.EOF for each x in rs.Fields %> <option value="<%=x.value%>"<%=SELECTED(x.value, request.querystring("CODICE"))%>> <%=x.value%></option> <% next rs.MoveNext loop response.write("</select></table>") end if if request.querystring("q") <> "" then SQL = "SELECT Denominazione " SQL = SQL & " FROM " SQL = SQL & " tbl " SQL = SQL & " WHERE " SQL = SQL & " CODICE = " & request.querystring("q") & " " SQL = SQL & " GROUP BY Denominazione " SQL = SQL & " ORDER BY Denominazione ASC " set rs = Server.CreateObject("ADODB.recordset") rs.Open sql, cn response.write("<table>") %> <select size="1" name="denominazione" > <option>Selezionare</option> <% do until rs.EOF for each x in rs.Fields %> <option value="<%=x.value%>"<%=SELECTED(x.value, request.querystring("denominazione"))%>> <%=x.value%></option> <% next rs.MoveNext loop response.write("</select></table>") end if %> </form> <div id="txtHint"></div>
codice:var xmlHttp function showCustomer(str) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Il tuo browser non supporta AJAX!"); return; } var url="default.asp"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
Ciao a tutti del forum. Come capirete sono nuovo del forum, spero di essere il benvenuto...
Stavo lavorando sul codice di questo post, che consente di popolare una combo a seconda della scelta fatta nella prima combo.
Funziona, però la seconda combo risulta visibile solo dopo che abbia fatto la scelta nella prima combo, mi servirebbe, che la seconda combo sia sempre visibile. Non ci sono riuscito. Potete per "pietà" aiutarmi???![]()
![]()
Grazie
Ciao,
(strano che non hai trovato il mio post del blog...cacchio devo impostarlo meglio allora!)
comunque: prova a vedere questo mio script, e se hai qualche problema, fammi un fischio che ti aiuto.
Select dinamiche con Asp e Ajax
Ciao
Ciao, Grazie del link. Devo dire che funziona bene. Sono curioso però, di capire perchè il codice presente nel post, se ad esempio aggiungo la seconda combo quando si popola dopo aver selezionato la prima me la ripete due volte.