Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2006, 21:12
Avatar de horizonte
horizonte
 
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 19 años, 3 meses
Puntos: 1
Multiples Listas Dependientes (no anda)

Hola:

Tengo tres(3) combos enlazados(Select1->Select2->Select3), donde selecciono Pais(Select1) -> Provincia(Select2) -> Ciudades(Select3). Esto funciona barbaro hasta el 2do.Select , ya que al elegir una Provincia(Select2): da error de JavaScript y nunca logro cargar el 3er.Select.
Nota: el 1er.Select se carga al (inicio)cargar la pagina.

Esto es para cargar el 2do,y 3er.Select:
Código:
<script language = "JavaScript">
<% 
'------------------------------------Consulta para OBTENER las PROVINCIAS------------------------------------
Dim x1, strSQL

Set  objRS= CreateObject("ADODB.Recordset")
strSQL = "select * from Tabla "& _
         "order by Provincia, Ciudad"
objRS.Open strSQL, oConn

x1=0
'-------------------------FUNCION DE COMBO BOX COMBINADO [Para el Select_Provincia]-------------------------
%>
function cargarProv(form, itemSeleccionado) {
  form.Provincia.length = 0

<%
  count= 0
  y=0
  Do While not objRS.EOF
%>

    x1 = <%= trim(y) %>;

    subcat = new Array();
    subcatagory = "<%=(objRS("pais")) %>";
    subcatagoryof = "<%=(objRS("provincia"))%>";
    subcat[x1,0] = subcatagory;
    subcat[x1,1] = subcatagoryof;
    if (subcat[x1,0] == itemSeleccionado) {
      var option<%= trim(count) %> = new Option(subcat[x1,1]);
      form.provincia.options[form.provincia.length]= option<%= trim(count)%>;
      form.provincia.options[form.provincia.length -1].value= subcat[x1,1];
    }
<%
    count = count + 1
    y = y + 1
    objRS.MoveNext
  Loop
  objRS.Close
%>
}
</script>

<script language = "JavaScript">
<%
'------------------------------------Consulta para OBTENER las CIUDADES-------------------------
Dim x2, strSQL1, count, y

strSQL1 = "select * from Tabla "
objRS.Open strSQL1, oConn

x2=0
'-------------------------FUNCION DE COMBO BOX COMBINADO [Para el Select_Ciudad]-----------------
%>
function cargarCiudad(form, itemSeleccionado) {
  form.Ciudad.length = 0

<%
  count= 0
  y=0
  Do While not objRS.EOF
%>

    x2 = <%= trim(y) %>;

    subcat = new Array();
    subcatagory = "<%=(objRS("ciudad")) %>";
    subcatagoryof = "<%=objRS("ciudad")%>";
    subcat[x2,0] = subcatagory;
    subcat[x2,1] = subcatagoryof;
    if(<%=objRS("ciudad")%> == itemSeleccionado) {
      var option<%= trim(count) %> = new Option(subcat[x2,1]);
      form.Ciudad.options[form.Ciudad.length]= option<%= trim(count)%>;
      form.Ciudad.options[form.Ciudad.length -1].value= subcat[x2,0];
    }
<%
    count = count + 1
    y = y + 1
    objRS.MoveNext
  Loop
  objRS.Close
%>
}
</script>
Estos son los 3Combos:
Código:
  <SELECT size="1" name="pais" class="fuente" onChange="cargarProv(this.form,Pais.value);">
    <option value="" selected>Seleccione Pais</option>

<%
  Dim x

  Set  objRS= CreateObject("ADODB.Recordset")
  strSQL = "select distinct Pais from Tabla "
  objRS.Open strSQL, oConn

  While not objRS.EOF
%>
    <option value="<%=objRS("Pais")%>"><%=objRS("Pais")%></option>
<%
    objRS.MoveNext
  Wend
  Set objRS= nothing
  oConn.Close
  Set oConn= nothing
%>
  </select>



      <td width="137" bgcolor="#F1ECC5" height="1"> 
	<SELECT name="Provincia" size=6 class="fuente_chica" onChange="cargarCiudad(this.form,Provincia.value);">
	</select>
      </td>
      <td height="1" width="161"> 
	<SELECT name="Ciudad" size=6 class="fuente_chica">
	</select>
      </td>
Agradesco de antemano si alguien me puede dar alguna mano,
Gracias y Saludos.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz: