Cita:
Iniciado por fjrueda art_rockerd.
Ya le han dado varios ejemplos que supongo ha implentado, y por tal motivo su codigo ya no sera el mismo desde su primer poste, y si si, usted ya dijo que funciona del alguna forma.
Yo le pido el favor que vuelva a postear su actual codigo pues asi se puede volver a estudiar y encontrar una respuesta positiva.
Que tenga buen dia.
Hola, ahora q ando algo liberada, les comparto mi solucion...
Aqui esta el HTML, el primero es el que cuando se eliga se deberan cambiar tanto el segundo como el tercero, pero como les comente no pude lograrlo, lo que hago es que al cargar el primero, destapo el segundo, y al seleccionar el segundo , destapo el tercero...
Código HTML:
Ver original<select name="tipo" id="tipo" onchange="mostrarM(this.value);"> <option value="000" selected="selected" name="seleccione">ESCOJA
</option>
<select name="marca" id="marca" onchange="mostrarR(this.value);" >
<select name="rango" id="rango" onchange="limpiar();">
Este es el codigo JS. que recibe los datos y los manda a PHP para retornar los resultados e imprimirlos en la pantalla.
Código Javascript
:
Ver originalfunction mostrarM(tipo){
$('#rango option[value="0"]').attr("selected", true);
$('#financiamiento option[value="0"]').attr("selected", true);
//en cada onchange, deshabilitar rango
$('#rango').attr('disabled','disabled');
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);
//las volvemos a poner en el value '0'
})
}
function mostrarR(mark){
var id=$('#tipo option:selected').val();
//cuando la marca sea 1 (seleccione) deshabilitar rango
if(mark=="1"){
$('#rango').attr('disabled','disabled');
return false;
}
$.post("carga_select2.php",{ tipo:id },
function(data){
$('#rango').attr('disabled','');
$("#rango").html(data);
//alert(data);
//var selGarantia =$('#rango option:selected').val();
//alert(selGarantia);
})
}
$(document).ready(function(){
$('#marca').attr('disabled','disabled');
$('#rango').attr('disabled','disabled');
});
Este es el script PHP que recibe los datos de JS y busca en la BDD
(
nota: desgraciadamente hice todo con la extension de Mysql de PHP y ahora que esta deprecada me esta costando mucho adaptarme a Mysqli pq no lo entiendo bien, si pudieran ayudarme a pasarlo a mysqli se los agradeceria mucho )
Código PHP:
Ver original<?php
//funcion para cargar las marcas
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'";
$i="";
$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
//funcion para cargar marcas
function carga_rangos($tipo){
//realizamos la consulta
switch($tipo){
case '000':
echo "<option value='0'><--SELECCIONE ANTES</option>";
break;
case 'C00':
include "conexion.php";
$query2 = "SELECT descripcion FROM rangos WHERE clave_rango LIKE '%c%' order by(clave_rango) desc";
$i="";
$rangos= $row['descripcion'];
$i=$i+1;
echo "<option value=".$i."c>$".$rangos."</option>";
}
break;
case 'P00':
include "conexion.php";
$query2 = "SELECT descripcion FROM rangos WHERE clave_rango LIKE '%p%' order by(clave_rango) desc";
$i="";
$rangos= $row['descripcion'];
$i=$i+1;
echo "<option value=".$i."p>$".$rangos."</option>";
}
break;
}//end switch
}//end function
if (isset($_POST['id'])){ //lee las variables del $.post() de jQuery
carga_combo($_POST['id']);
}else {//en caso de no estar definida post(id) enviar parametro a la otra funcion para rangos
if (isset($_POST['tipo'])){ //lee las variables del $.post() de jQuery
carga_rangos($_POST['tipo']);
}
}
?>
Y bueno al final les pongo como estan mis tablas en mi bdd Mysql
Código MySQL:
Ver original-- CREAMOS LA TABLA PARA LAS MARCAS --
);
-- INSERTAMOS EN TABLA MARCAS --
("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");
-- TABLA RANGOS--
);
-- INSERTAMOS CATALOGO DE RANGOS --
("2c","7501-10000"),
("3c",">10000"),
("1p","0-7500"),
("2p","7501-10000"),
("3p","10001-15000"),
("4p","15001-20000"),
("5p","20001-30000");
Quedo atenta a sus comentarios, estoy solo poniendo solo la parte donde cargo los selects de mi aplicacion, asi que si se me paso ponerles algo que uds. crean me avisan para que lo revise, muchas gracias por su apoyo.