How to pass to the AJAX select option for codeigniter view?

0

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?

    
asked by anonymous 17.10.2018 / 12:19

1 answer

1

I've already figured it out.

$.each(dados, function(id, sala){
                
                $('#combo_sala').append($("<option></option>").attr("value",this.sala).text(this.sala));
            });
    
17.10.2018 / 16:28