I intend to use a combobox as a filter padding data for another combobox code:
Controller:
function Ajax_consulta_zona()
{
$edificio = $this->input->post('edificio');
$bastidor = $this->input->post('bastidor');
$resultado = $this->agrupamento->get_zona($edificio, $bastidor);
echo json_encode($resultado);
}
public function get_zona($edificio, $bastidor)
{
return $this->db->query("SELECT * FROM zona WHERE id_edif = '$edificio' AND id_bast = $bastidor")->result_array();
}
AJAX:
function fill_combo_sala() {
edificio = $('#combo_edificio').val();
let bastidor = $('#combo_bastidor').val();
//PATH
let path = '<?php echo site_url("agrupamento/Ajax_consulta_zona") ?>';
//Call Ajax
$.ajax({
url: path,
type: 'post',
data: {"edificio": edificio, "bastidor": bastidor},
success: function(result){
let dados = JSON.parse(result);
console.log(dados);
$.each(dados, function(id_zona, sala){
$('#combo_sala').html('');
$('#combo_sala').append($("<option></option>").attr("value",id_zona).text(sala));
});
},
error: function(){
console.log('Aconteceu um erro de ligação às base de dados');
}
});
}
Console.log Values:
0: {id_id: 1, id_edif: "A01", id_bast: 1, room: "A", desc_sala: "salaa"} 1: {zone_id: 2, id_edif: "A01", id_ast: 1, room: "B", desc_sala: "salab"} 2: {zone_id: 3, id_edif: "A01", id_bast: 1, room: "C", desc_sala: "salac"}
In the combobox field, [object Object]
appears.
What am I doing wrong?