espero que me puedan ayudar.Gracias...
vd.asp
Código HTML:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="../Connections/acceso.asp" --> <% If (Request.Form("FirstOp") <> "") Then FirstOp = Request.Form("FirstOp") End If If (Request.Form("SecondOp") <> "") Then SecondOp = Request.Form("SecondOp") End If If (Request.Form("ThirdOp") <> "") Then ThirdOp = Request.Form("ThirdOp") End If %> <html> <head> <title>Documento sin título</title> </head> <script language="javascript" type="text/javascript"> function nuevoAjax() { /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */ var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { xmlhttp=false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } return xmlhttp; } function cargaContenido() { var valor=document.getElementById("select_0").options[document.getElementById("select_0").selectedIndex].value; if(valor==0) { // Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto combo=document.getElementById("select_1"); combo.length=0; var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="-- Select --"; combo.appendChild(nuevaOpcion); combo.disabled=true; } else { ajax=nuevoAjax(); ajax.open("GET", "select_ajax.asp?FirstOp="+valor, true); ajax.onreadystatechange=function() { if (ajax.readyState==1) { // Mientras carga elimino la opcion pongo una que dice "Cargando" combo=document.getElementById("select_1"); combo.length=0; var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando..."; combo.appendChild(nuevaOpcion); combo.disabled=true; } if (ajax.readyState==4) { document.getElementById("fila_2").innerHTML=ajax.responseText; } } ajax.send(null); } } function cargaContenidoI() { var valorI=document.getElementById("select_1").options[document.getElementById("select_1").selectedIndex].value; if(valorI==0) { // Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto comboI=document.getElementById("select_2"); comboI.length=0; var nuevaOpcionI=document.createElement("option"); nuevaOpcionI.value=0; nuevaOpcionI.innerHTML="-- Select --"; comboI.appendChild(nuevaOpcionI); comboI.disabled=true; } else { ajaxI=nuevoAjax(); ajaxI.open("GET", "ThirdOp.asp?FirstOp="+valor+"&SecondOp="+valorI, true); ajaxI.onreadystatechange=function() { if (ajaxI.readyState==1) { // Mientras carga elimino la opcion pongo una que dice "Cargando" comboI=document.getElementById("select_2"); comboI.length=0; var nuevaOpcionI=document.createElement("option"); nuevaOpcionI.value=0; nuevaOpcionI.innerHTML="Cargando..."; comboI.appendChild(nuevaOpcionI); comboI.disabled=true; } if (ajaxI.readyState==4) { document.getElementById("fila_3").innerHTML=ajaxI.responseText; } } ajaxI.send(null); } } </script> </head> <br> <input type="text" name="a" value="<%=FirstOp%>"> <input type="text" name="a" value="<%=SecondOp%>"> <form name="aqui" method="POST" action="VD.asp"> <table width="400" style="border-style:none;"> <tr> <td id="fila_1" width="50%"> <select name="FirstOp" id="select_0" onChange="cargaContenido()"> <option>-- Select --</option> <% Set SelectI = Server.CreateObject("ADODB.Recordset") SelectI.ActiveConnection = MM_acceso_STRING SelectI.Source = "SELECT DISTINCT FirstOp FROM TreeDatosFCR_index order by FirstOp " SelectI.CursorType = 1 SelectI.CursorLocation = 2 SelectI.LockType = 1 SelectI.Open() while NOT SelectI.EOF %> <option value="<%=SelectI.Fields("FirstOp")%>"><%=SelectI.Fields("FirstOp")%></option> <% SelectI.movenext() Wend%> </select> </td> </tr> <tr> <td id="fila_2" width="50%"> <select disabled="disabled" id="select_1" name="SecondOp" onChange="cargaContenidoI()"> <option id="valor_defecto" value="0">-- Select --</option> </select> </td> </tr> <tr> <td id="fila_3" width="50%"> <select disabled="disabled" id="select_2" name="ThirdOp"> <option id="valor_defectoI" value="0">-- Select --</option> </select> </td> </tr> </table> <input type="submit" name="algo" value="Enviar"> </form> </body> </html>
Código HTML:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="../Connections/acceso.asp" --> <% If (Request.QueryString("FirstOp") <> "") Then FirstOp = Request.QueryString("FirstOp") End If %> <html> <head> <title>Documento sin título</title> </head> <body> <% Set SelectII = Server.CreateObject("ADODB.Recordset") SelectII.ActiveConnection = MM_acceso_STRING SelectII.Source="SELECT DISTINCT SecondOp FROM TreeDatosFCR_index WHERe FirstOp ='"& FirstOp &"' ORDER BY SecondOp" SelectII.CursorType = 1 SelectII.CursorLocation = 2 SelectII.LockType = 1 SelectII.Open() %> <select id="select_1" name="SecondOp"> <% while NOT SelectII.EOF %> <option value="<%=SelectII.Fields("SecondOp")%>"><%=SelectII.Fields("SecondOp")%></option> <% SelectII.movenext() wend %> </select> </body> </html>
Código HTML:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="../Connections/acceso.asp" --> <% If (Request.QueryString("FirstOp") <> "") Then FirstOp = Request.QueryString("FirstOp") End If If (Request.QueryString("SecondOp") <> "") Then SecondOp = Request.QueryString("SecondOp") End If %> <html> <head> <title>Documento sin título</title> </head> <body> <% Set SelectIII = Server.CreateObject("ADODB.Recordset") SelectIII.ActiveConnection = MM_acceso_STRING SelectIII.Source = "SELECT DISTINCT ThirdOp FROM TreeDatosFCR_index WHERE FirstOp = '"& FirstOp &"' and SecondOp = '"& SecondOp &"' ORDER BY ThirdOp" SelectIII.CursorType = 1 SelectIII.CursorLocation = 2 SelectIII.LockType = 1 SelectIII.Open() %> <select id="select_2" name="ThirdOp"> <% while NOT SelectIII.EOF %> <option value="<%=SelectIII.Fields("ThirdOp")%>"><%=SelectIII.Fields("ThirdOp")%></option> <% SelectIII.movenext() wend %> </select> </body> </html>