为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕妹3242003 2022-07-09 16:32:42
我正在尝试创建一个销售点 (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);          }        });
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

最后,我可以解决这个问题,但我仍然对它是如何发生的感到困惑,我只是改变了一点


控制器来自


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


          }

        });

    });


查看完整回答
反对 回复 2022-07-09
?
茅侃侃

TA贡献1842条经验 获得超22个赞

我不知道你所有的控制器文件。但是您没有 __construct 方法和加载模型。首先尝试添加加载模型方法或__construct和加载模型方法


例子 :


public function __construct()

{

  $this->load->model('your_model_method_name');

}

或者


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

有好的工作:)


查看完整回答
反对 回复 2022-07-09
  • 2 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号