Por favor tengo un problema con un select dependiente. He buscado este script que funciona en IE y en Firefox.
Pero aunque más o menos entiendo lo que hace, me falla.
Lo que quiero es que el primer select me devuelva un listado de todas las empresas que hay en la tabla empresas. Hasta ahí sin problemas.
Según la empresa que escoja me devuelva todas las familias de la tabla familias que tienen el campo id_empresa con el valor que teoricamente se recoge del primer select, pero no sale.
Esto está hecho e asp clasico pero el problema yo creo que está en el javascript, por eso lo publico en este foro.
Pueden ayudarme a saber donde está el error?
Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
response.Expires=0
Response.AddHeader "PRAGMA", "NO-CACHE"
if session("autorizacion")=-1 or session("autorizacion")="" then
response.redirect "/login.asp"
end if
%>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Modificar/Ver Familia</title>
<link href="../../css/estilos_extranet.css" rel="stylesheet" type="text/css">
<script language = "JavaScript">
<%
Set Conn= Server.CreateObject("ADODB.Connection")
Set Command= Server.CreateObject("ADODB.Command")
Conn.open "DSN=dentalvita.com"
Command.ActiveConnection=Conn
Command.CommandType=adCmdText
Command.CommandText= "SELECT * FROM usuarios WHERE nombreusuario = '" & Request("nombreusuario") & "'"
Set RsUsuarios=Command.Execute ()
productos_Sql = "SELECT distinct referencia_familia, id, id_empresa, nombre_familia from familias"
set RsFamilias = CreateObject("ADODB.Recordset")
RsFamilias.Open productos_Sql, Conn
x=0
Command.CommandText= "SELECT * FROM empresas order by id_empresa DESC"
Set RsEmpresas=Command.Execute ()
%>
//FUNCION DE COMBO BOX COMBINADO
function sublist(inform, selecteditem)
{
inform.subcategory.length = 0
<%
count= 0
y=0
do while not RsFamilias.eof
%>
x = <%= trim(y) %>;
subcat = new Array();
subcategorys = "<%=(RsFamilias("nombre_familia")) %>";
subcategoryof = "<%=(RsFamilias("referencia_familia"))%>";
subcategoryid = "<%=(RsFamilias("nombre_familia"))%>";
subcat[x,0] = subcategorys;
subcat[x,1] = subcategoryof;
if (subcat[x,1] == selecteditem) {
var option<%= trim(count) %> = new Option(subcat[x,0], subcat[x,2]);
inform.subcategory.options[inform.subcategory.length]=option<%= trim(count)%>;
}
<%
count = count + 1
y = y + 1
RsFamilias.movenext
loop
RsFamilias.close
%>
}
</script>
</head>
<!-- #INCLUDE file="../../adovbs.asp" -->
<%
nombreusuario=RsUsuarios("nombreusuario")
%>
<BODY scroll="auto">
<%if session("autorizacion")=1 then%>
<form action="../../gestion_familias/modificar_ver/actualizar_familias.asp?nombreusuario=<%=nombreusuario%>&id_empresa=<%=RsEmpresas("id_empresa")%>" method="post" name="form1">
<table width="768" class="GESTION" align="center" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" valign="middle" class="CELDA"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="MENUS">
<tr>
<td rowspan="3"><img src="../../images/menus/familias/ver_modificar_familias.gif" width="743" height="100"></td>
<td valign="top"> </td>
</tr>
<tr>
<td><a href="../../gestion_familias/menu_familias.asp?nombreusuario=<%=request.QueryString("nombreusuario")%>"><img src="../../images/iconos/menu_principal.gif" alt="Menu Familias" width="25" height="23" border="0"></a></td>
</tr>
<tr>
<td valign="bottom"> </td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="2" valign="middle" class="MENSAJESRELLENAR"> </td>
</tr>
<tr>
<td colspan="2" valign="middle" class="MENSAJESRELLENAR">Introduzca un valor sobre el criterio de búsqueda a seleccionar </td>
</tr>
<tr>
<td colspan="2" valign="middle" class="MENSAJESRELLENAR"> </td>
</tr>
<tr>
<td valign="middle" class="CELDA">Nombre Empresa </td>
<td valign="top" class="celda">
<select name="id_empresa" class="SELECT" id="id_empresa" onChange = "javascript:sublist(this.form, id_empresa.value);">
<%RsEmpresas.movefirst
do while not RsEmpresas.eof%>
<option value="<%=RsEmpresas("id_empresa")%>" selected><%=RsEmpresas("nombre_empresa")%></option>
<%RsEmpresas.movenext
loop%>
</select>
</td>
</tr>
<tr>
<td width="15%" valign="middle" class="CELDA">Familia</td>
<td width="85%" valign="top" class="celda">
<select name="subcategory" class="SELECT" id="subcategory">
<option selected value="none"></option>
</select>
<input name="submit" type="submit" class="BOTONES_FORMULARIO" value="Ver Familia"></td>
</tr>
<tr>
<td colspan="2" valign="top"></td>
</tr>
</table>
</form>
<%
RsUsuarios.close
'RsFamilias.close
RsEmpresas.close
conn.close
Set RsUsuarios=nothing
Set RsEmpresas=nothing
Set RsFamilias=nothing
Set Conn=nothing
end if%>
</BODY>
</HTML>
Gracias