Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/02/2009, 08:21
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: 3 combobox dependientes

poblaciones_ajax.asp
Código asp:
Ver original
  1. Dim buscarpor, oConn, rs, SQL, registros, z
  2. Dim Comunidad, Provincia, Ciudad, Calle ' campos de la bd
  3. Comunidad = 0
  4. Provincia = 1
  5. Ciudad = 2
  6. Calle = 3
  7.  
  8. buscarpor = Split(Request.QueryString("mostrark"), "-")
  9.  
  10. ' conexión a bd
  11.  
  12. Select Case UBound(buscarpor)
  13. Case 0 :
  14. SQL ="SELECT Comunidad, Provincia FROM Poblaciones WHERE Comunidad LIKE '"& buscarpor(0) &"%' GROUP BY Comunidad, Provincia ORDER BY Provincia asc"
  15. set rs = oConn.Execute(SQL)
  16. registros = rs.getrows()
  17. Response.Write "Provincia<br /><select name=""s_2"" id=""s_2"" onchange=""Ciudad(document.getElementById('s_2').options[document.getElementById('s_2').selectedIndex].value, 3);"">"
  18. Response.Write "<option value="""">Seleccionar Provincia</option>"
  19. For z = 0 to UBound(registros,2)
  20. Response.Write "<option value="""& buscarpor(0) &"-"& registros(Provincia,z) &""">" & registros(Provincia,z) & "</option>"
  21. Next 'z
  22. Response.Write "</select>"
  23. rs.Close
  24. Set rs = Nothing
  25. oConn.Close
  26. Set oConn = Nothing
  27.  
  28. Case 1 :
  29. SQL ="SELECT Comunidad, Provincia, Ciudad FROM Poblaciones WHERE Comunidad LIKE '"& buscarpor(0) &"%' AND Provincia LIKE '"& buscarpor(1) &"%' GROUP BY Comunidad, Provincia, Ciudad ORDER BY Ciudad asc"
  30. set rs = oConn.Execute(SQL)
  31. registros = rs.getrows()
  32. Response.Write "Ciudad<br /><select name=""s_3"" id=""s_3"" onchange=""Ciudad(document.getElementById('s_3').options[document.getElementById('s_3').selectedIndex].value, 4);"">"
  33. Response.Write "<option value="""">Seleccionar Ciudad</option>"
  34. For z = 0 to UBound(registros,2)
  35. Response.Write "<option value="""& buscarpor(0) &"-"& buscarpor(1) &"-"& registros(Ciudad,z) &""">" & registros(Ciudad,z) & "</option>"
  36. Next 'z
  37. Response.Write "</select>"
  38. rs.Close
  39. Set rs = Nothing
  40. oConn.Close
  41. Set oConn = Nothing
  42.  
  43. Case 2 :
  44. SQL ="SELECT Comunidad, Provincia, Ciudad, Calle FROM Poblaciones WHERE Comunidad LIKE '"& buscarpor(0) &"%' AND Provincia LIKE '"& buscarpor(1) &"%' AND Ciudad LIKE '"& buscarpor(2) &"%' GROUP BY Comunidad, Provincia, Ciudad, Calle ORDER BY Calle asc"
  45. set rs = oConn.Execute(SQL)
  46. registros = rs.getrows()
  47. Response.Write "Calle<br /><select name=""s_4"" id=""s_4"">"
  48. Response.Write "<option value="""">Seleccionar Calle</option>"
  49. For z = 0 to UBound(registros,2)
  50. Response.Write "<option value="""& buscarpor(0) &"-"& buscarpor(1) &"-"& buscarpor(2) &"-"& registros(Calle,z) &""">" & registros(Calle,z) & "</option>"
  51. Next 'z
  52. Response.Write "</select>"
  53. rs.Close
  54. Set rs = Nothing
  55. oConn.Close
  56. Set oConn = Nothing
  57.  
  58. End Select

NOTA: El código está editado con la solución después de subsanar el inconveniente

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 24/02/2009 a las 05:51