Como alimentar vários combobox dinâmicos
03/10/2019
0
O código em JS abaixo alimenta o combobox "programas" de acordo com a escolha no combox "regioes".
Como faço para ele alimentar outros 2 combobox ao mesmo tempo usando outra lista JSON?
Além de alimentar o combox programas com a lista regiao-programas.json, preciso que alimente o combobox municipio1 e municipio2 usando a lista combox-municipios.json
Como faço para ele alimentar outros 2 combobox ao mesmo tempo usando outra lista JSON?
Além de alimentar o combox programas com a lista regiao-programas.json, preciso que alimente o combobox municipio1 e municipio2 usando a lista combox-municipios.json
$(document).ready(function(){ $.getJSON('SIGPLAM2/javaScript/lista-regiao-programas.json', function(data){ var items = []; var options = '<option value="">escolha uma região</option>'; $.each(data, function(key, val){ options += '<option value="' + val.nome + '">' + val.nome + '</option>'; }); $("#regioes").html(options); $("#regioes").change(function(){ var options_programas = ''; var str = ""; $("#regioes option:selected").each(function(){ str += $(this).text(); }); $.each(data, function(key, val){ if(val.nome == str){ $.each(val.cidades, function(key_city, val_city){ options_programas += '<option value="' + val_city + '">' + val_city + '</option>'; }); } }); $("#programas").html(options_programas); }).change(); }); });
Liclopes
Curtir tópico
+ 0
Responder
Posts
14/10/2019
Liclopes
Faltou adicionar o HTML do select dropdown ->
JS JSON ->
Como faço? esolhe 1 programa -> alimenta regiões -> escolhe 1 região -> alimenta "município" (3 combos aninhados)...
<div class="form-group"> <!-- dropdown Regiões --> <label for="regioes">Região de integração</label> <select id="regioes"> <option value=""></option> </select> </div> <div class="form-group"> <!-- dropdown Programas --> <label for="programas">Programa desenvolvido</label> <select id="programas"> </select> </div>
JS JSON ->
$(document).ready(function(){ $.getJSON('SIGPLAM2/javaScript/lista-regiao-programas.json', function(data){ var items = []; var options = '<option value="">escolha uma região</option>'; $.each(data, function(key, val){ options += '<option value="' + val.nome + '">' + val.nome + '</option>'; }); $("#regioes").html(options); $("#regioes").change(function(){ var options_programas = ''; var str = ""; $("#regioes option:selected").each(function(){ str += $(this).text(); }); $.each(data, function(key, val){ if(val.nome == str){ $.each(val.cidades, function(key_city, val_city){ options_programas += '<option value="' + val_city + '">' + val_city + '</option>'; }); } }); $("#programas").html(options_programas); }).change(); }); });
Como faço? esolhe 1 programa -> alimenta regiões -> escolhe 1 região -> alimenta "município" (3 combos aninhados)...
Responder
24/10/2019
Liclopes
Como faço? esolhe 1 programa -> alimenta regiões -> escolhe 1 região -> alimenta "município" (3 combos aninhados)...
Achei a resposta...
function get_json_data(id, parent_id) { var html_code = ''; $.getJSON('SIGPLAM4/javaScript/lista-regiao-programas-municipio.json', function(data){ ListName = id; // ID do select regioes html_code += '<option value="">Selecione a ' + ListName + '</option>'; $.each(data, function(key, value) { if (value.parent_id == parent_id) { html_code += '<option value="' + value.id + '">' + value.name + '</option>'; } }); $('#' + id).html(html_code); }); } get_json_data('regioes',0); $(document).on('change', '#regioes', function(){ var regioes_id = $(this).val(); if (regioes_id != ''){ get_json_data('programas', regioes_id); get_json_data('municipio', category_id); get_json_data('municipioSuas', category_id); get_json_data('municipioVig', category_id); } else { $('#programas').html('<option value="">Selecione o programa</option>'); } }); $(document).on('change', '#programas', function(){ var category_id = $(this).val(); if (category_id != '') { get_json_data('municipio', category_id); get_json_data('municipioSuas', category_id); get_json_data('municipioVig', category_id); } else { $('#municipio').html('<option value="">Selecione o municipio</option>'); $('#municipioSuas').html('<option value="">Selecione o municipio SUAS</option>'); $('#municipioVig').html('<option value="">Selecione o municipio VIG</option>'); } });
Responder
Clique aqui para fazer login e interagir na Comunidade :)