首先,这是我的代码:
观点:
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中,然后循环它(如果有多个像数组一样的数据),对不起如果这个有点愚蠢的问题,但是,这可能吗?
在您的模型中只更改一行。
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);
}
});
}
你为什么不尝试这个?
$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);
希望你能得到这方面的帮助。
您可以使用解析响应数据吗?
var data=jQuery.parseJSON(data);
$("#kategori_admin").html("<option>" + data.name + "</option>");
试试它是否有效。