Buscar en Asptutor     
Demo Tienda Virtual Tutorcar
 Navegacion->Inicio | Active Server Pages  

La web de los recursos y ejemplos de asp

Versión para imprimir

 

Alojado en:


urbe-networks.com

Recomienda esta pagina a un amigo

Servicios Gratuitos

Articulos relacionados

Utilizar GetRows()

Tienda Virtual - Carrito de compra

Messenger a través de BD en ASP

Miniaplicacion de comercio electronico

Objeto Datagrid de ASP.NET en ASP

Acotación de resultados

Pagina en obras

Un Contador de visitas

Combobox enlazados con asp

Codigo de un Libro de visitas(IV)

Ejemplo de prueba de formularios

El Objeto Error

Pagina en obras

Distintos formatos de Fecha

El Objeto TextStream

El Objeto FSO


Enlaces recomendados

   

Tutorial ASP

Combobox enlazados con asp
Este articulo ha sido leído 14.235 veces

Combobox enlazados con asp y javascript

Colaboración enviada por xxxxx----i_e_s27@hotmail. com-----xxxxx

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Response.Buffer = True%>
<html>
<head>
<title>Combo Dependiente</title>
<%
Const adOpenForwardOnly = 0 'Es el cursor por defecto y nos permite recorrer el Recordset en forma secuencial.
Const adOpenKeySet = 1 'Permite movernos hacia delante y atrás. Permite observar las modificaciones en los datos del Recordset , '
no así si existen ingresos de nuevos registros.
Const adOpenDynamic = 2 'Permite movernos en cualquier sentido, viendo cualquier modificación, ingreso o eliminación de datos del Recordset.
Const adOpenStatic = 3 'Permite movernos en cualquier sentido, pero no se verá ningún cambio ocurrido en la tabla.

Const adLockReadOnly = 1 'Es el cerrojo por defecto y no permite modificar los registros de la tabla.
Const adLockPessimistic = 2 'Una vez que alguien abre la tabla, ésta queda bloqueada para los demás usuarios.'
 Con este modo se asegura la integridad de los datos.
Const adLockOptimistic = 3 'La tabla sólo será bloqueada a los demás usuarios mientras se ejecute una operación Update. 
'De esta forma la tabla se bloqueará durante mucho menos tiempo que con el método anterior.
Const adBatchOptimistic = 4 'Los registros serán actualizados en modo batch. 

Dim adoCon
Set adoCon = Server.CreateObject ("ADODB.Connection")
adoCon.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/MISITIO/dbgeneral.mdb")

Set rsComboCategoria = Server.CreateObject("ADODB.Recordset")
Set rsComboSubcategoria = Server.CreateObject("ADODB.Recordset")
strSQLComboCategoria = "SELECT * FROM tblcategorias"
strSQLComboSubcategoria = "SELECT * FROM tblsubcategorias"
rsComboCategoria.Open strSQLComboCategoria, adoCon, adOpenStatic, adLockOptimistic
rsComboSubcategoria.Open strSQLComboSubcategoria, adoCon, adOpenStatic, adLockOptimistic
%>

<script language = "JavaScript">
function RellenarCombo(ComboPadre, ComboDependiente) {

IDItemSeleccionado = ComboPadre.options[ComboPadre.selectedIndex].value

ComboDependiente.length = 0

IDsSubcategorias = new Array();
IDsSubcategorias = [<%
EsPrimero = True
rsComboSubcategoria.MoveFirst
For x = 1 to rsComboSubcategoria.RecordCount
If EsPrimero = False Then Response.Write(",")
Response.Write("'" & rsComboSubcategoria("id") & "'")
rsComboSubcategoria.MoveNext
EsPrimero = False
Next 'x
Response.Write("];")
%>

NombresSubcategorias = new Array();
NombresSubcategorias = [<%
EsPrimero = True
rsComboSubcategoria.MoveFirst
For x = 1 to rsComboSubcategoria.RecordCount
If EsPrimero = False Then Response.Write(",")
Response.Write("'" & rsComboSubcategoria("nombre_subcategoria") & "'")
rsComboSubcategoria.MoveNext
EsPrimero = False
Next 'x
Response.Write("];")
%>

AsociacionSubcategorias = new Array();
AsociacionSubcategorias = [<%
EsPrimero = True
rsComboSubcategoria.MoveFirst
For x = 1 to rsComboSubcategoria.RecordCount
If EsPrimero = False Then Response.Write(",")
Response.Write("'" & rsComboSubcategoria("categoria_asociada") & "'")
rsComboSubcategoria.MoveNext
EsPrimero = False
Next 'x
Response.Write("];")
%>

var Opcion = new Option();
var i;
for (i in IDsSubcategorias) {
if (AsociacionSubcategorias[i] == IDItemSeleccionado) {
Opcion = Option(NombresSubcategorias[i], IDsSubcategorias[i]);
ComboDependiente.options[ComboDependiente.length]=Opcion;
}
}
}
</script>

</head>

<body onLoad="RellenarCombo(document.forms['AgregarProducto'].categoria, document.forms['AgregarProducto'].subcategoria);">

<form id="AgregarProducto" name="AgregarProducto" method="post" action="">
<label for="categoria">Categoria:</label>
<select name="categoria" id="categoria" onChange="RellenarCombo(document.forms['AgregarProducto'].categoria, document.forms['AgregarProducto'].subcategoria);">
<%
rsComboCategoria.MoveFirst
For i = 1 to rsComboCategoria.RecordCount
Response.Write(" <option value=""" & rsComboCategoria("id") & """>" & rsComboCategoria("nombre_categoria") & "</option>")
Response.Write(VbCrLf)
rsComboCategoria.MoveNext
Next 'i
%>
</select>
<label for="subcategoria">Subcategoria:</label>
<select name="subcategoria" id="subcategoria"></select>
<input type="submit" value="Ir" />
</form>

</body>

</html>

 

¿Estas empezando y este articulo es muy complejo para tí?
Empieza por el principio, visita Ejemplos Básicos

Puedes obtener un listado completo de todos los artículos y ejemplos de ASP en http://www.asptutor.com/asp/todoslosarticulos.asp
 

Valora este articulo   Malo Excelente  
5 usuarios han valorado este articulo. Valoracion media:

Nota: Para cualquier consulta u opinión sobre este articulo puedes usar los foros

 

 

AspTutor lo hacemos entre todos ¿Como vas a colaborar hoy?


Google

 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar