猿问

无法使自动完成代码点火器

我正在尝试创建一个销售点 (POS),但在我的 Codeigniter 中使用 ajax 进行自动完成时遇到问题,自动完成列表不会出现,我想在输入代码产品、名称和价格时自动填充如何解决这个问题 

模型


   public function get_code($title)

    {

      $this->db->like('code_product', $title, 'BOTH');

      $this->db->order_by('id', 'asc');

      $this->db->limit(10);

      return $this->db->get('merchandise')->result();

    }

控制器


   function get_autocomplete()

  {

    if (isset($_GET['term'])) {

      $result = $this->Barang_model->get_code($_GET['term']);

      if (count($result) > 0) {

        foreach ($result as $row)

        $result_array[] = array(

            'codeproduct'=>$row->code_product,

            'name'=>strtoupper($row->name),

            'price'=>strtoupper($row->price)

          );

        echo json_encode($result_array);

      }

    }

  }

看法


        <td>

                  <input type="text" name='cp' id="cp" placeholder='Code Product' class="form-control" />

                </td>

                <td>

                  <input type="text" name='name' id="name" placeholder='Name' class="form-control" />

                </td>

                 <td>

                  <input  type="text" name='price' id="price" placeholder='Price' class="form-control" />

                </td>


    $(document).ready(function()

      {

        $("#cp").autocomplete({

          source : "<?php echo base_url('Barang/get_autocomplete') ?>",


          select: function(event, ui){

            $('[name="cp"]').val(ui.item.codeproduct);

            $('[name="name"]').val(ui.item.name);

            $('[name="price"]').val(ui.item.price);


          }

        });


慕妹3242003
浏览 168回答 2
2回答

MMTTMM

最后,我可以解决这个问题,但我仍然对它是如何发生的感到困惑,我只是改变了一点控制器来自&nbsp;function get_autocomplete()&nbsp; {&nbsp; &nbsp; if (isset($_GET['term'])) {&nbsp; &nbsp; &nbsp; $result = $this->Barang_model->get_code($_GET['term']);&nbsp; &nbsp; &nbsp; if (count($result) > 0) {&nbsp; &nbsp; &nbsp; &nbsp; foreach ($result as $row)&nbsp; &nbsp; &nbsp; &nbsp; $result_array[] = array(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'codeproduct'=>$row->code_product,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'name'=>strtoupper($row->name),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'price'=>strtoupper($row->price)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; echo json_encode($result_array);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; }至public function __construct()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; parent::__construct();&nbsp; &nbsp; &nbsp; &nbsp; is_logged_in();&nbsp; &nbsp; &nbsp; &nbsp; $this->load->model('Barang_model');&nbsp; &nbsp; }&nbsp; &nbsp; function get_autocomplete()&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (isset($_GET['term'])) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $result = $this->Barang_model->get_code($_GET['term']);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (count($result) > 0) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach ($result as $row)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $arr_result[] = array(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'label'&nbsp; => $row->code_product,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'name'&nbsp; &nbsp;=> $row->name,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'price'&nbsp; => $row->price,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo json_encode($arr_result);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }查看从&nbsp; <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="text" name='cp' id="cp" placeholder='Code Product' class="form-control" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="text" name='name' id="name" placeholder='Name' class="form-control" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input&nbsp; type="text" name='price' id="price" placeholder='Price' class="form-control" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>$(document).ready(function()&nbsp; {&nbsp; &nbsp; $("#cp").autocomplete({&nbsp; &nbsp; &nbsp; source : "<?php echo base_url('Barang/get_autocomplete') ?>",&nbsp; &nbsp; &nbsp; select: function(event, ui){&nbsp; &nbsp; &nbsp; &nbsp; $('[name="cp"]').val(ui.item.codeproduct);&nbsp; &nbsp; &nbsp; &nbsp; $('[name="name"]').val(ui.item.name);&nbsp; &nbsp; &nbsp; &nbsp; $('[name="price"]').val(ui.item.price);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; });至&nbsp; <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="text" name='cp' id="cp" placeholder='Code Product' class="form-control" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="text" name='name' id="name" placeholder='Name' class="form-control" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input&nbsp; type="text" name='price' id="price" placeholder='Price' class="form-control" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp;$(document).ready(function()&nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $("#cp").autocomplete({&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; source : "<?php echo site_url('Barang/get_autocomplete') ?>",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; select: function(event, ui){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('[name="cp"]').val(ui.item.label);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('[name="name"]').val(ui.item.name);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('[name="price"]').val(ui.item.price);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; });

茅侃侃

我不知道你所有的控制器文件。但是您没有 __construct 方法和加载模型。首先尝试添加加载模型方法或__construct和加载模型方法例子 :public function __construct(){&nbsp; $this->load->model('your_model_method_name');}或者&nbsp;function get_autocomplete()&nbsp; {&nbsp; &nbsp; if (isset($_GET['term'])) {&nbsp; &nbsp; &nbsp; $this->load->model('barang_model');&nbsp; &nbsp; &nbsp; $result = $this->Barang_model->get_code($_GET['term']);&nbsp; &nbsp; &nbsp; if (count($result) > 0) {&nbsp; &nbsp; &nbsp; &nbsp; foreach ($result as $row)&nbsp; &nbsp; &nbsp; &nbsp; $result_array[] = array(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'codeproduct'=>$row->code_product,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'name'=>strtoupper($row->name),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'price'=>strtoupper($row->price)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; echo json_encode($result_array);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; }并且您的参数是字符串或整数。你应该把数组像那样 :$parameter =array('column_name' => $_GET['term']);$result = $this->Barang_model->get_code($parameter);有好的工作:)
随时随地看视频慕课网APP
我要回答