Hola compañeros, he estado bastantes días batallando con este código, no logro averiguar como hacerlo, lo que necesito es que al seleccionar un option de un combo box, los otros dos combobox que tengo se rellenen dinamicamente, lo he logrado hacer con uno, pero no puedo integrar el ultimo combo, el detalle es que no es que sea un combobox de tres niveles, es un combo box de dos niveles, al escoger el primero se deben rellenar los otros dos... este es mi html, es lo que llevo hasta ahorita y si lo prueban podrán ver que solo funciona para rellenar el primero, ya que no se como enviar en el PHP el valor del tercer combo..
Código HTML:
Ver original<html xmlns="http://www.w3.org/1999/xhtml"> <!--Creado por Walter en Micodigobeta.com.ar-->
<script src="js/jquery.1.4.2.js" type="text/javascript"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
function mostrarM(tipo){
if(tipo=="000"){$('#marca').attr('disabled','disabled');$('#rango').attr('disabled','disabled');return false;}
$.post("carga_select2.php",{ id:tipo },
function(data){$('#marca').attr('disabled',''); $("#marca").html(data);})
}
function mostrarR(mark){
//alert(mark);
if(mark=="1"){$('#rango').attr('disabled','disabled');return false;}
$('#rango').attr('disabled','');
}
$(document).ready(function(){
$('#marca').attr('disabled','disabled');
$('#rango').attr('disabled','disabled');
})
<select name="tipo" id="tipo" onchange="mostrarM(this.value);">
<select name="marca" id="marca" onchange="mostrarR(this.value);" >
<select name="rango" id="rango">
el PHP es el siguiente:
Código PHP:
Ver original<?php
function carga_combo($Area){
//realizamos la consulta
switch($Area){
case '000':
echo "<option value='0'><--SELECCIONE ANTES</option>";
break;
case 'C00':
include "conexion.php";
$query = "SELECT marca FROM marcas WHERE cod_prod='C00'";
$query2 = "SELECT descripcion FROM rangos WHERE clave_rango LIKE '%c%'";
$rangos= $row['descripcion'];
}
$i="";
//NECESITO ENVIAR EL RESULTADO DE ejecuta y ejecuta2!!!!
//pero solo logro enviar ejecuta :/
$marca= $row['marca'];
$i=$i+1;
echo "<option value=".$i.">".$marca."</option>";
}
break;
case 'P00':
include "conexion.php";
$query = "SELECT marca FROM marcas WHERE cod_prod='P00'";
$i="";
$marca= $row['marca'];
$i=$i+1;
echo "<option value=".$i.">".$marca."</option>";
}
break;
}//end switch
}//end function
if (isset($_POST['id'])){ //lee las variables del $.post() de jQuery
carga_combo($_POST['id']);
}
?>
ya intente JSON, pero aun así no logro enviarlo ya que no se como tratar estos datos en mi JS, puesto que JSON me lo envía separado por comas, pero aparte tengo que separar por array, y APARTE el simbolo "\" del <\option> me lo cambia por un símbolo tipo V.
Me ayuda por favor!!!
lo que quisiera es que en el evento onChange del primer combo me rellenara los dos combos dependientes, el evento onChange del segundo combobox lo que hace es solo habilitar o des habilitar el tercero. Ojala puedan apoyarme, quedo en espera de su amable ayuda.
Les coloco el script de la bdd para hacer pruebas:
Código MySQL:
Ver original
);
);
("2c","7501-10000"),
("3c",">10000"),
("1p","0-7500"),
("2p","7501-10000"),
("3p","10001-15000"),
("4p","15001-20000"),
("5p","20001-30000");
("C00","SELECCIONE.."),
("C00","ACER"),
("C00","APPLE"),
("C00","ASUS"),
("C00","BENQ"),
("C00","DELL"),
("C00","HP"),
("C00","LANIX"),
("C00","LENOVO"),
("C00","LG"),
("C00","MSI"),
("C00","PANASONIC"),
("C00","SAMSUNG"),
("C00","SONY"),
("C00","TOSHIBA"),
("P00","SELECCIONE.."),
("P00","LG"),
("P00","SAMSUNG"),
("P00","SONY"),
("P00","SHARP");