Código Javascript:
Ver original
function cargarSelect2(valor) { /** * Este array contiene los valores sel segundo select * Los valores del mismo son: * - hace referencia al value del primer select. Es para saber que valores * mostrar una vez se haya seleccionado una opcion del primer select * - value que se asignara * - testo que se asignara */ var arrayValores=new Array( new Array(1,1,"Caracas"), new Array(2,1,"Caracas"), new Array(2,2,"Valencia"), new Array(3,1,"Caracas"), new Array(3,2,"Valencia"), new Array(4,1,"Santa Elena de Guairen"), new Array(5,1,"Santa Elena de Guairen"), new Array(6,1,"Caracas"), new Array(6,2,"Valencia"), new Array(6,3,"Puerto ordaz"), new Array(6,4,"Ciudad Bolivar"), new Array(6,5,"Barquisimeto"), new Array(6,5,"Maracaibo") ); var arrayhosp=new Array( new Array(1,1,"Posada Galapagos"), new Array(1,2,"Posada 2"), new Array(2,1,"Hotel Sunsol Isla Caribe"), new Array(2,2,"Hotel Dunes"), new Array(2,3,"Hotel Margarita"), new Array(3,1,"Hotel Sunsol Isla Caribe Coche"), new Array(3,2,"Hotel Coche Paradise"), new Array(4,1,"Campamento Gran Sabana"), new Array(5,1,"Campamento Roraima"), new Array(6,1,"Campamento Tapuy Lodge"), new Array(6,2,"Campamento Waku Lodge"), new Array(6,3,"Campamento Venetur Canaima"), new Array(6,4,"Campamento Morichal"), new Array(6,5,"Campamento Wey Tepuy"), ); if(valor==0) // desactivamos el segundo y tercer select document.getElementById("select2").disabled=true; document.getElementById("select3").disabled=true; }else{ // eliminamos todos los posibles valores que contenga el select2 document.getElementById("select2").options.length=0; document.getElementById("select3").options.length=0; // añadimos los nuevos valores al select2 document.getElementById("select2").options[0]=new Option("Selecciona una opcion", "0"); for(i=0;i<arrayValores.length;i++) { // unicamente añadimos las opciones que pertenecen al id seleccionado // del primer select if(arrayValores[i][0]==valor) { document.getElementById("select2").options[document.getElementById("select2").options.length]=new Option(arrayValores[i][2], arrayValores[i][1]); } } document.getElementById("select3").options[0]=new Option("Selecciona una opcion", "0"); for(i=0;i<arrayhosp.length;i++) { // unicamente añadimos las opciones que pertenecen al id seleccionado // del primer select if(arrayhosp[i][0]==valor) { document.getElementById("select3").options[document.getElementById("select3").options.length]=new Option(arrayhosp[i][2], arrayhosp[i][1]); } } // habilitamos el segundo select document.getElementById("select2").disabled=false; document.getElementById("select3").disabled=false; } }
deseo que cuando yo seleccione la opcion del selec uno se me recargen las opciones de el select 2 y el select 3, eso se podra de la menera que lo estyo planteando.
Código HTML:
Ver original
<p> <select id='select1' name="destino" onChange="cargarSelect2(this.value)" required style="width: 190px; text-align: center;margin-right: 20px;"> </select> <select id='select2' name="lpartida" style=" width: 100px; " required> </select> <select id='select3' name="lhospedaje" style=" width: 100px; " required> </select>
el codigo funciona con un solo el select 2 pero intento colocarle el select 3 y no me ejecuta el codigo. sdi pudieran ayudarme se los agrtadeceria Grandemente de antemanos gracias.