Fórum Como alimentar vários combobox dinâmicos #605770
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
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)