Я использую codeigniter и хочу выполнить автозаполнение jquery и вернуть значение для другого поля, например, получить имя автозаполнения, затем отобразить отображаемое имя с ценой. Проблема, которую я просто могу сделать для одного входа, но у меня есть несколько (массив)
Введите
<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();
}