Programación Web y Scripting > HTML
Llenar Combobox Dinámico
(1/1)
RadicalEd:
Hola chicos de SoloCodigo, necesito arreglar un problema.
Lo que pasa es que en una aplicacion donde se pide al usuario que seleccione un dato a través de un combobox1 y según sea la opción se debe llenar un combobox2 con las sub_opciones de esa opción, algo así como cuando uno llena el País en el Hotmail y aparecen los estados de dicho País.
Me pueden dar una ayuda o un enlace con info al respecto.
Me la imagino por medio de JavaScript, pero es que soy un poquito malo para este, y pues no quiero hacerlo por php ya que me tocaria modificar una tabla con unos datos que ya existen y blablablabla.
Gracias Chao.
RadicalEd:
Lo resolví así y me sirvio full, lo encontre en forosdelweb:
<!--html--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>HTML </td></tr><tr><td id='CODE'><!--html1--><html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" src="reloj.js"></script>
<script language="JavaScript">
<!--
function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}
function cambia(oCntrl)
{
while (oCntrl.length) oCntrl.remove(0);
switch (document.form1.algo.selectedIndex)
{
case 0:
addOpt(oCntrl, 0, "Clientes de Televentas", "0");
addOpt(oCntrl, 1, "Clientes de Ejecutivos", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
addOpt(oCntrl, 3, "Clientes Nuevos", "3");
break;
case 1:
addOpt(oCntrl, 0, "Clientes de Televentas", "0");
addOpt(oCntrl, 1, "Clientes de Ejecutivos", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
addOpt(oCntrl, 3, "Clientes Nuevos", "3");
break;
case 2:
addOpt(oCntrl, 0, "Clientes de Televentas", "0");
addOpt(oCntrl, 1, "Clientes de Ejecutivos", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
break;
case 3:
addOpt(oCntrl, 0, "Cobros", "0");
addOpt(oCntrl, 1, "Operacion de Cartera Propios", "1");
addOpt(oCntrl, 2, "Operacion de Cartera Pjecutivos", "2");
addOpt(oCntrl, 3, "Operacion de Cartera Oficina", "3");
break;
case 4:
addOpt(oCntrl, 0, "Clientes de Televentas", "0");
addOpt(oCntrl, 1, "Clientes de Ejecutivos", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
break;
case 5:
addOpt(oCntrl, 0, "Clientes de Televentas", "0");
addOpt(oCntrl, 1, "Clientes de Ejecutivos", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
break;
case 6:
addOpt(oCntrl, 0, "Clientes de Televentas", "0");
addOpt(oCntrl, 1, "Clientes de Ejecutivos", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
break;
case 7:
addOpt(oCntrl, 0, "Baño", "0");
addOpt(oCntrl, 1, "Almuerzo", "1");
addOpt(oCntrl, 2, "Entredía", "2");
addOpt(oCntrl, 3, "Llamadas personales", "3");
addOpt(oCntrl, 4, "Diligencia personal", "4");
break;
case 8:
addOpt(oCntrl, 0, "Adecuación puesto de trabajo", "0");
addOpt(oCntrl, 1, "Elaboración de informes", "1");
addOpt(oCntrl, 2, "Presentación de informes", "2");
addOpt(oCntrl, 3, "Reuniones", "3");
break;
case 6:
addOpt(oCntrl, 0, "En la Oficina", "0");
addOpt(oCntrl, 1, "Fuera de la Oficina", "1");
addOpt(oCntrl, 2, "Clientes de Oficina", "2");
break;
}
}
//-->
</script>
</head>
<body>
<br><br><br><br><br><br><br>
<center>
<form name="form1" method="get" action="grabar.php">
<SELECT NAME='algo' onChange="cambia(document.form1.opcion)">
<OPTION VALUE=1>Cotizaciones
<OPTION VALUE=2>Información Técnica
<OPTION VALUE=3>Información Sobre Pedidos
<OPTION VALUE=4>Cartera
<OPTION VALUE=5>Logística
<OPTION VALUE=6>Compras
<OPTION VALUE=7>Pedidos
<OPTION VALUE=8>Personales
<OPTION VALUE=9>Labores Operativas
<OPTION VALUE=10>Atención Personal a Clientes
</SELECT>
<select name="opcion">
<option selected>Clientes de Televentas</option>
<option>Clientes Ejecutivos</option>
<option>Clientes de Oficina</option>
</select>
<br><br>
<SELECT NAME='nombre'>
<OPTION VALUE='Mayerli'>Mayerly
<OPTION VALUE='Alex'>Alex
</SELECT>
<input type=hidden name="horas" size="8" value="<?php echo $hora; ?>">
<input type=hidden name="fechas" size="8" value="<?php echo $fecha; ?>">
<br><br>
<input type="submit" name="Submit" value="Fin">
</form></center>
</body>
</html><!--html2--></td></tr></table><div class='postcolor'><!--html3-->
Mollense:
Gracias viejo, está muy buena la function!!! :beer:
Bicholey:
:lol: :lol: :lol: :lol:
Perfecto hoy me habia metido al foro para preguntar algo similar y ohh mi god la respuesta sin ni siquiera preguntarla.
LeGatoRojo:
--- Código: Text ---<select name="pais_l" onchange="makeRequest('comboEstado','../inc/arrest.php?pa='+this.value);"> function makeRequest(campo,url){ http_request = false; if(window.XMLHttpRequest){ // mozilla, netscape, opera... http_request = new XMLHttpRequest(); if(http_request.overrideMimeType){ http_request.overrideMimeType('text/xml'); } }else if(window.ActiveXObject){ // IE try{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ http_request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ } } } if(!http_request){ alert('Falla :( No es posible crear una instancia XMLHTTP'); return false; } if(campo == 'comboEstado') http_request.onreadystatechange = comboEstado; if(campo == 'comboEstado1') http_request.onreadystatechange = comboEstado1; http_request.open('GET', url, true); http_request.send(null); } function comboEstado(){ if(http_request.readyState == 4){ if(http_request.status == 200){ var opciones=http_request.responseText.split('|'); document.forms.form1.estado_l.options.length=0; for(var i=0; i<opciones.length; i++){ var par=opciones[i].split('#'); document.forms.form1.estado_l.options[i]=new Option(par[1],par[0]); } document.forms.form1.estado_l.options.length--; }else{ alert('Hubo problemas con la petición.'); } } }
Yo ocupo esto, claro tambien ocupo algo de php y una bd
Navegación
Ir a la versión completa