如何从数组输入获取自动完成的jQuery

时间:2019-01-11 16:26:34

标签: javascript php jquery arrays codeigniter

我使用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();
}

0 个答案:

没有答案