/ Published in: PHP
URL: http://xoxonizer.com/combos_dependientes/
combos dependientes
Expand |
Embed | Plain Text
== HTML + jQuery== <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Combos dependientes del resultado anterior by xOxo</title> <script language="javascript" src="js/jquery-1.3.2.js"></script> <script language="javascript"> $(document).ready(function(){ // Parametros para e combo1 $("#paso2").css('display', 'none'); $("#paso3").css('display', 'none'); $("#paso4").css('display', 'none'); $("#combo1").change(function () { $("#combo1 option:selected").each(function () { seleccionado=$(this).val(); $.post("prueba.php?mod=vehiculo", { seleccionado: seleccionado }, function(data){ $("#combo2").html(data); $("#paso2").css('display', ''); $("#combo3").html(""); }); }); }) // Parametros para el combo2 $("#combo2").change(function () { $("#combo2 option:selected").each(function () { seleccionado=$(this).val(); $.post("prueba.php?mod=marca", { seleccionado: seleccionado }, function(data){ $("#paso3").css('display', ''); $("#paso4").css('display', ''); $("#combo3").html(data); }); }); }) }); function grabar () { combo1 = document.getElementById('combo1').value; combo2 = document.getElementById('combo2').value; combo3 = document.getElementById('combo3').value; alert("El resultado es:\n\n" + combo1 + "\n" + combo2 + "\n" + combo3 + "\n\nEjemplo by xOxo"); } </script> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <form action="/agregar-a-basededatos/" method="post" onsubmit="grabar(); return false;"> <div class="ejemplo"> <ul> <li>Tipo de vehiculo:</li> <li><select name="combo1" id="combo1"> <option value="x">Seleccione</option> <option value="auto">Auto</option> <option value="pickup">Pick up</option> <option value="312toneladas">3 1/2 toneladas</option> </select> </li> </ul> <ul id="paso2"> <li>Marca:</li> <li><select name="combo2" id="combo2"> </select> </li> </ul> <ul id="paso3"> <li>Modelo:</li> <li><select name="combo3" id="combo3"> </select> </li> </ul> <ul id="paso4"> <li></li> <li> <input type="submit" value="Grabar" /> </li> </ul> </div> </form> </body> </html> == CSS == @charset "utf-8"; .ejemplo{ font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; font-weight:bold; width: 100%; } .ejemplo ul{ padding: 6px 0 7px 0; margin: 0; text-align: left; } .ejemplo ul li{ display: inline; } .ejemplo ul li a{ color: #494949; padding: 6px 3px 4px 3px; margin-right: 20px; text-decoration: none; border-bottom: 3px solid gray; } .ejemplo ul li a:hover, .ejemplo ul li a.selected{ border-bottom-color: black; } == PHP (CONTROLADOR) == <?php include 'classes/query.php'; $consultas = new consultas(); if ($_GET['mod'] == 'vehiculo') { } if ($_GET['mod'] == 'marca') { } ?> == PHP (MODELO) == <?php class consultas { private function options_values ($array) { $output = "<option value=''>Seleccione</option>"; for ($i = 0; $i<sizeof($array); $i++) { $output .='<option value="' . $array[$i] . '">' . $array[$i] . '</option>'; } } else { $output .='<option value="">-------</option>'; } return $output; } public function vehicles ($param) { // query de autos o algun otro vehÃ�Âculo // asi quedaria el output if ($param == 'auto') { } elseif ($param == 'pickup') { } elseif ($param == '312toneladas') { } return $this->options_values($names); } public function marca ($param) { // query de marcas // asi quedaria el output if ($param == 'Astra') { } elseif ($param == 'Chevy') { } elseif ($param == 'Pointer') { } return $this->options_values($names); } } ?>
You need to login to post a comment.
