Preencher select dinâmico com ajax
Boa tarde!
Tenho um sistema que preenche os dados do registro via ajax, na hora de editar. Tenho um select dinâmico nesse meio ai. O select "pai" eu consigo trazer os dados do banco via ajax, já o filho me retorna em branco.
Essa função é chamada ao abrir o modal:
function carregaDadosCdJSon(idchamado){
$.post(base_url+'/index.php/chamado/chamado_controller/dados_chamado', {
idchamado: idchamado
}, function (data){
(... outros dados ...)
$('#subcategoria').val(data.subcategoria_fk);
$('#categoria_fk').val(data.categoria_fk);
}, 'json');
HTML:
<label for="categoria">Categoria</label>
<select class="form-control" name="categoria_fk" id="categoria_fk" required="required" onchange='buscar_subcategoria($(this).val())'>
<option value="">Selecione uma categoria</option>
<?php foreach ($categoria -> result() as $linha): ?>
<option value="<?php echo $linha->idcategoria?>"><?php echo $linha->nomecategoria?></option>
<?php endforeach;?>
</select>
<div class="form-group">
<label for="exampleSelect1">Subcategoria</label>
<select class="form-control" name="subcategoria_fk" id="subcategoria">
</select>
O Javascript que preenche o select filho é aquele padrãozinho que acessa o php e gera o select.
function buscar_subcategoria(idcategoria){
$.post(base_url+"/index.php/subcategoria/subcategoria_controller/ajax_dados_subcategoria", {
idcategoria : idcategoria
}, function(data){
$('#subcategoria').html(data);
});
}
Recebe o id da view, faz a consulta e devolve o valor correspondente ao valor passado:
function ajax_dados_subcategoria($idcategoria){
$this->load->model('subcategoria/subcategoria_model');
$dados = $this->subcategoria_model->m_ajax_dados_subcategoria($idcategoria);
$option = "<option value=''></option>";
foreach($dados -> result() as $linha) {
$option .= "<option value='$linha->idsubcategoria'>$linha->nomesubcategoria</option>";
}
echo $option;
}Discussão (8)
Carregando comentários...