Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2007, 17:40
doncog
 
Fecha de Ingreso: noviembre-2002
Ubicación: stgo
Mensajes: 111
Antigüedad: 21 años, 6 meses
Puntos: 0
ayuda estoy que muero!!!

Hola ojala me puedan ayudar estoy cabeciandome pero no e podido e intentado todo ... hasta darme un tiro en la cabeza bueno eso no lo intento todabia jajaja..

3 combos anidados con base de datos copie uno de un ejemplo y agrege las funciones para hacer el tercero pero no me funciona llevo 2 semanas intentando y no e podido. bueno aqui les manda la inscruccion en javascript mas asp.

bueno la base de datos y el archivo esta en el link

http://200.27.164.101/combo.rar


el archivo aqui va porsiacaso ....
<%
Set oConn = Server.CreateObject ("ADODB.Connection")
Set rs = Server.CreateObject ("ADODB.RecordSet")
Set rs2 = Server.CreateObject ("ADODB.RecordSet")
oConn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("autos.mdb")

'Esta es una funciòn simple para manejar el llenado de los combos
sub armarCombo(dato,estado,valor)
if estado=1 then
response.Write("<option value='" & valor & "' selected>" & dato & "</option>")
else
response.Write("<option value='" & valor & "'>" & dato & "</option>")
end if
end sub
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<script type="text/javascript">

function Auto(idMarca, idModelo, nombre)
{
this.idMarca = idMarca;
this.idModelo = idModelo;
this.nombre = nombre;
};

function Cole (idComuna, nombre)
{
this.idComuna = idComuna;
this.nombre = nombre;
};

var vectorAutos = new Array();
var vectorCole = new Array();

<%

dim query, indice
'Consultamos la base para traer los autos
query = "select M.idMarca, M.idModelo, M.descripcion as nombre from Modelos M, Marcas Ma where M.idMarca = Ma.idMarca"
rs.Open query, oConn

query2 = "SELECT C_J.Nombre_Establecimiento, Modelos.idModelo FROM Modelos INNER JOIN C_J ON Modelos.descripcion = C_J.Comuna WHERE Modelos.descripcion = C_J.Comuna"
rs2.Open query2, oConn

'Recorremos la colección de modelos
indice = 0

while not rs.eof
'Aca es donde escribimos en el document una nueva entrada al vectorAutos
'Sería algo asi:
'vectorAutos[1] = new Provincia(1,2,'Fiesta');
'donde 1 es el idMarca, 2 es el idModelo y 'Fiesta' es el nombre.
response.Write("vectorAutos[" & indice & "] = new Auto(" & rs.fields("idMarca") & "," & Replace (rs.Fields("idModelo"), "'", "\'" ) & ",'" & rs.Fields("nombre") & "');")
rs.movenext
indice = indice + 1
wend

indice = 0

while not rs2.eof
response.Write ("vectorCole[" & indice & "] = new Cole('" & rs2.fields("idModelo") & "','" & Replace(rs2.fields("nombre_establecimiento"), "'", "\'") & "');")

rs2.movenext

indice = indice + 1
wend

%>

/************************************************** **************************/
//Llenar combo de modelos
//El propósito de este método es recibir un idMarca y cargar en el combo
//modelos todas aquella cuyo idMarca concuerde con el parámetro de entrada
/************************************************** **************************/
function LlenarModelos(idMarca)
{
//Limpiamos el contenido del combo antes de cargarle nuevos datos
vaciarCombo('cboModelos');

//Recorremos el vectorAutos
var posicion=0;

for(var i=0; i < vectorAutos.length; i++)
{
if (vectorAutos[i].idMarca == idMarca)
{

agregarDatoCombo('cboModelos',posicion,vectorAutos[i].nombre,vectorAutos[i].idModelo,false);
posicion++;
}
}
}

function LlenarColegio(idMarca)
{
//Limpiamos el contenido del combo antes de cargarle nuevos datos
vaciarCombo('colegios');

//Recorremos el vectorAutos
var posicion=0;

for(var i=0; i < vectorCole.length; i++)
{
if ( vectorCole[i].idComuna == idMarca ) {
agregarDatoCombo('colegios',posicion,vectorCole[i].nombre,vectorCole[i].nombre,false);
posicion++;
}
}
}

/************************************************** ************/
//Manejo del combo
/************************************************** ************/
function vaciarCombo(comboDestino)
{
document.getElementById(comboDestino).length = null;
}

function agregarDatoCombo(comboDestino,orden,descripcion,va lor,estado)
{
document.getElementById(comboDestino).options[orden] = new Option(descripcion,valor,"",estado);
}
</script>
</HEAD>
<BODY>
<form name="form1" method="post" action="">
<p>Region:
<select name="cboMarcas" id="cboMarcas" onChange="LlenarModelos(this.value)">
<%
dim sql
rs.Close
sql="select * from Marcas"
rs.open sql, oConn
armarCombo "- Seleccione Region -",1,0
while not rs.eof
armarCombo rs.Fields("descripcion"),0,rs.Fields("idMarca")
rs.movenext()
wend
%>
</select>
</p>
<p>Comuna:
<select name="cboModelos" id="cboModelos" onChange="LlenarColegio(this.value)"> //this.options.selectedIndex
</select>
</p>
<p>Colegios:
<select name="colegios" id="colegios"></select>
</p>
</form>
</BODY>
</HTML>
__________________
atte. cog.