首先,这是我的代码:
观点:
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中,然后循环它(如果有像数组这样的多个数据,抱歉,如果这个有点愚蠢的问题,但是,这可能吗?
答案 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>");
尝试它是否有效。