使用数据库中的值循环选项元素

时间:2017-12-16 09:59:41

标签: javascript php jquery codeigniter

首先,这是我的代码:

观点:

function admin_add_menu(e)
{   
    $.ajax({
        url: "<?php echo site_url('vendors/ajax_admin_menu/')?>",
        type: 'POST',
        dataType: 'JSON',
        data: {id: e},
        success:function  (data) {
            $("#kategori_admin").html("<option>" + data[0]['nama'] + "</option>")
        }
    });


}

管理员控制器:

public function ajax_admin_menu()
{   
    $ido = $this->input->post('id');
    $data = $this->person->get_adminby_id($ido);
    echo json_encode($data);
}

模型:

      public function get_adminby_id($id)
    {   
        $this->db->select('parentID,nama');
        $this->db->from('parentMenu');
        $this->db->where('outletID',$id);
        $query = $this->db->get();
        return $query->result();
    }

我有网页仪表板,我尝试用jquery ajax获取数据,结果我获得了json格式的数组数据,例如,我希望将值与选项组合并将其追加到select中,然后循环它(如果有像数组这样的多个数据,抱歉,如果这个有点愚蠢的问题,但是,这可能吗?

3 个答案:

答案 0 :(得分:1)

模型中只更改一行。

public function get_adminby_id($id)
{   
    $this->db->select('parentID,nama');
    $this->db->from('parentMenu');
    $this->db->where('outletID',$id);
    $query = $this->db->get();
    return $query->result_array();
}

admin controller 中更改您的代码。

public function ajax_admin_menu()
{   
    $data = $this->person->get_adminby_id($ido);
    $option = "";
    if($data != array()){

        foreach ($data as $key => $value) {
            $option .= "<option value='".$value['parentID']."'>".$value['nama']."</option>"; 
        }

    }
    echo $option; exit;
}

视图文件

function admin_add_menu(e)
{   
    $.ajax({
        url: "<?php echo site_url('vendors/ajax_admin_menu/')?>",
        type: 'POST',
        dataType : 'html',
        data: {id: e},
        success:function  (data) {
            $("#kategori_admin").html(data);
        }
    });

}

答案 1 :(得分:1)

为什么不试试这个?

$ido = $this->input->post('id');
$data = $this->person->get_adminby_id($ido);
foreach($data as $row){
    echo $option .= "<option>".$row[0]->nama."</option>";
}

您无需使用Kumar Praveen的答案中给出的JSON解析。直接将数据添加到HTML元素。

$("#kategori_admin").html(data);

希望你能得到帮助。

答案 2 :(得分:0)

您可以使用

解析响应数据吗?
var data=jQuery.parseJSON(data);
$("#kategori_admin").html("<option>" + data.name + "</option>");

尝试它是否有效。