Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Select dinamiche ASP & AJAX

    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-

  2. #2
    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

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    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


    Grazie fino qua ci sono arrivato.

    Il problema è che non vorrei utilizzare javascript ma ajax per evitare il fastidioso ricaricamento della pagina web tramite l'evento:

    codice:
    onChange="window.location='Default.asp?str='+this.options[this.selectedIndex].value;"
    Come in questa pagina web:

    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?

  4. #4
    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

  5. #5
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Ci sono riuscito.

    Questa è default.asp

    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>
    Questa è selectcustomer.js :

    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;
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    183
    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

  7. #7
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    183
    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.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.