Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

cargar un select con javascript dependiendo de otro select

function cargarProvincias() {
    var array = ["Cantabria", "Asturias", "Galicia", "Andalucia", "Extremadura"];
    array.sort();
    addOptions("provincia", array);
}


//Función para agregar opciones a un <select>.
function addOptions(domElement, array) {
    var selector = document.getElementsByName(domElement)[0];
    for (provincia in array) {
        var opcion = document.createElement("option");
        opcion.text = array[provincia];
        // Añadimos un value a los option para hacer mas facil escoger los pueblos
        opcion.value = array[provincia].toLowerCase()
        selector.add(opcion);
    }
}



function cargarPueblos() {
    // Objeto de provincias con pueblos
    var listaPueblos = {
      cantabria: ["Laredo", "Gama", "Solares", "Castillo", "Santander"],
      asturias: ["Langreo", "Villaviciosa", "Oviedo", "Gijon", "Covadonga"],
      galicia: ["Tui", "Cambados", "Redondella", "Porriño", "Ogrove"],
      andalucia: ["Dos Hermanas", "Écija", "Algeciras", "Marbella", "Sevilla"],
      extremadura: ["Caceres", "Badajoz", "Plasencia", "Zafra", "Merida"]
    }
    
    var provincias = document.getElementById('provincia')
    var pueblos = document.getElementById('pueblo')
    var provinciaSeleccionada = provincias.value
    
    // Se limpian los pueblos
    pueblos.innerHTML = '<option value="">Seleccione un Pueblo...</option>'
    
    if(provinciaSeleccionada !== ''){
      // Se seleccionan los pueblos y se ordenan
      provinciaSeleccionada = listaPueblos[provinciaSeleccionada]
      provinciaSeleccionada.sort()
    
      // Insertamos los pueblos
      provinciaSeleccionada.forEach(function(pueblo){
        let opcion = document.createElement('option')
        opcion.value = pueblo
        opcion.text = pueblo
        pueblos.add(opcion)
      });
    }
    
  }
  
 // Iniciar la carga de provincias solo para comprobar que funciona
cargarProvincias();
Comment

PREVIOUS NEXT
Code Example
Javascript :: Adding A Property To BuiltIn Class In Javascript 
Javascript :: Using the forEach function In JavaScript 
Javascript :: javascript alert when site page opened not in chrome 
Javascript :: bootstrap 5 
Javascript :: reduce function javascript 
Javascript :: compare text 
Javascript :: block scoped in js 
Javascript :: convert json to csv npm 
Javascript :: do while loop js 
Javascript :: javascript add to a dictionary 
Javascript :: how to do a function after a set interval js 
Javascript :: nodejs extract pdf data 
Javascript :: hide and show div using javascript with example 
Javascript :: console log like a pro 
Javascript :: Filtering an array for unique values 
Javascript :: javascript post 
Javascript :: get array from string javascript 
Javascript :: how to remove an item from an object in javascript 
Javascript :: object.assign in express 
Javascript :: why does array index start from 0 
Javascript :: hrtime to milliseconds 
Javascript :: determine location of ip address nodejs 
Javascript :: lottie npm 
Javascript :: javascript objet keys comparaison 
Javascript :: building an array of a numbers javascript 
Javascript :: Javascript: 
Javascript :: eliminar duplicados javascript 
Javascript :: variavel javascript 
Javascript :: star print in javascript 
Javascript :: module parse failed: unexpected character ' (1:0) you may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. see https://webpack.js.org/concepts#loaders 
ADD CONTENT
Topic
Content
Source link
Name
8+7 =