Php 未能使自动完成代码点火器

Php 未能使自动完成代码点火器,php,jquery,codeigniter,Php,Jquery,Codeigniter,我正在尝试创建一个销售点POS,但在我的Codeigniter中使用ajax生成自动完成时遇到了一个问题。自动完成列表将不会出现,我想在输入代码产品、名称和价格时自动填充如何解决此问题 模型 控制器 看法 我不知道你所有的控制器文件。但是您没有一个_构造方法和负载模型。首先尝试添加负荷模型方法或_构造和负荷模型方法 例如: public function __construct() { $this->load->model('your_model_method_name');

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

模型

控制器

看法


我不知道你所有的控制器文件。但是您没有一个_构造方法和负载模型。首先尝试添加负荷模型方法或_构造和负荷模型方法

例如:

public function __construct()
{
  $this->load->model('your_model_method_name');
}

而您的参数是字符串或整数。你应该打开数组

就像这样:

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

做好工作:

最后,我可以解决这个问题,但我仍然不知道这是怎么发生的,我只是稍微改变一下

控制器来自

 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);

      }
    });

不要在foreach循环之外进行回声。试试这个
 function get_autocomplete()
  {
    if (isset($_GET['term'])) {
      $this->load->model('barang_model');
      $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);
      }
    }
  }
$parameter =array('column_name' => $_GET['term']);
$result = $this->Barang_model->get_code($parameter);
 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);
      }
    }
  }
public function __construct()
    {
        parent::__construct();
        is_logged_in();
        $this->load->model('Barang_model');
    }

    function get_autocomplete()
        {
            if (isset($_GET['term'])) {
                $result = $this->Barang_model->get_code($_GET['term']);
                if (count($result) > 0) {
                    foreach ($result as $row)
                        $arr_result[] = array(
                            'label'  => $row->code_product,
                            'name'   => $row->name,
                            'price'  => $row->price,
                     );
                        echo json_encode($arr_result);
                }
            }
        }
  <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);

      }
    });
  <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 site_url('Barang/get_autocomplete') ?>",

          select: function(event, ui){
            $('[name="cp"]').val(ui.item.label);
            $('[name="name"]').val(ui.item.name);
            $('[name="price"]').val(ui.item.price);

          }
        });
    });