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

问题描述 投票:0回答:3

首先,这是我的代码:

观点:

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中,然后循环它(如果有多个像数组一样的数据),对不起如果这个有点愚蠢的问题,但是,这可能吗?

javascript php jquery codeigniter
3个回答
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();
}

在管理员控制器中更改您的代码。

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
投票

你为什么不尝试这个?

$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);

希望你能得到这方面的帮助。


0
投票

您可以使用解析响应数据吗?

var data=jQuery.parseJSON(data);
$("#kategori_admin").html("<option>" + data.name + "</option>");

试试它是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.