我使用codeigniter,并希望自动完成并返回另一个字段的值,例如,获取自动完成名称,然后显示带有价格的显示名称。我只能为一个输入执行的问题,但是我有多个(数组)
输入
<table>
<tr>
<td><input type="text" name="name[]" autofocus="" class="name"></td>
<td><input type="text" name="price[]" class="price" ></td>
</tr>
<tr>
<td><input type="text" name="name[]" autofocus="" class="price">
<td><input type="text" name="price[]" class="price" ></td>
</tr>
</table>
jQuery
$(document).on("focus", ".table", function(){
$('[name="name[]"]').each(function(i,e){
$(this).autocomplete({
source: "<?php echo base_url('Penjualan/get_autocomplete/?');?>",
select: function (event, ui){
$('[name="name[]"]').val(ui.item.name);
$('[name="price[]"]').val(ui.item.price);
}
})
})
});
控制器
public function get_autocomplete(){
$this->load->model('PenjualanModel');
if (isset($_GET['term'])) {
$result = $this->PenjualanModel->cariProduk($_GET['term']);
if (count($result) > 0) {
foreach ($result as $row)
$arr_result[] = array(
'name' => $row->name,
'price' => $row->price,
);
echo json_encode($arr_result);
}
}
}
型号
public function cariProduk($name){
$this->db->like('name', $name , 'both');
$this->db->order_by('name', 'ASC');
$this->db->limit(10);
return $this->db->get('stok')->result();
}