我试图为我的表单制作自动完成,数据来自选定的组合框。这是我的控制器:public function cari(){ $kode_list=$this->request->getVar('list_produksi_toko'); //$kode_list=$_GET['kode_list']; $cari['hasil'] =$this->produksiModel->mencari($kode_list); echo json_encode($cari);} 模型 :public function mencari($keyword){ //$query= $this->builder()->getWhere('list_produksi_toko',array('kode_list'=>$id)); $query = $this->groupBy('kode_list')->like('kode_list', $keyword)->findAll(); return $query;}在我看来,javascript:<script> $('#produk').change(function(){ var list_produksi_toko = $(this).val(); $.ajax({ url:"/Produksi/cari", method: 'post', data:{list_produksi_toko: list_produksi_toko}, success:function(data){ jQuery.parseJSON(data); // var ddas = data.buyer alert (data); $.each(data, function(key, val){ $('#buyer').val('<value="'+data['buyer']+'">'); // document.getElementById('nama_barang').value=val.nama_barang; // document.getElementById('jenis_kain').value=val.jenis_kain; // document.getElementById('warna').value=val.warna; // document.getElementById('pcs').value=val.pcs; }); } }) }); </script>我在向每个表单显示每个数据时遇到问题,使用此代码会在控制台中显示错误,如下所示:未捕获的类型错误:无法使用“in”运算符来搜索“长度”; in {“hasil”:[{“kode_list”:“LPT20060001”,“tanggal”:“2020-06-08”,“status_order”:“完整订单”,“买家”:“ ;IK001,Ik Collection”,“nama_barang”:“IK05900,Renata 衬衫”,“jenis_kain”:“Mosscreep”,“warna”:“IK05910,灰色”,“件”:“63” ;,“tanggal_input”:“2020-06-18”,“用户”:“Dena”,“keterangan”:“切割完成”}]}我已经尝试提醒数据,它显示: {“hasil”:[{“kode_list”:“LPT20060001”,“tanggal”:“2020-06-08”,“status_order”:“完整订单”,“买家”:“ IK001,Ik Collection”,“nama_barang”:“IK05900,Renata 衬衫”,“jenis_kain”:“Mosscreep”,“warna”:“IK05910,灰色”,“件”:“63” ,“tanggal_input”:“2020-06-18”,“用户”:“Dena”,“keterangan”:“切割完成”}]}我该如何修复它?
1 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
您可能需要更改 data 的变量类型才能循环遍历它。您可以通过console.log(typeof data)检查变量的类型。以下是您的问题的可能解决方案,看看这是否对您有帮助。
success:function(data){
console.log(typeof data); // should be string
data = jQuery.parseJSON(data);
console.log(typeof data); // should be object
$.each(data['hasil'], function(key, val){
$.each(val, function(subkey, subval){
console.log(subkey);
console.log(subval);
// all values are assigned to the elements with the same id as their keys(as your code suggests)
$('#' + subkey).val('<value="' + subval + '">');
});
});
}
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消