0

为什么我键入时列表不自动更新?无论我输入什么,列表都是一样的。

我希望能够输入“wj”,它只会列出以“wj”开头的项目。

JS

$(function()
{
    $("#part_num_id").autocomplete({

        source: "partnum/get"

    });
});

控制器

    public function get() 
{

    $q = $this->input->post('term', TRUE);

    $this->load->model('partnum_model');
    $this->partnum_model->get_partnum2($q);
}

模型

  function get_partnum2($q)
  {
    $this->db->select('*');
    $this->db->like('part_num', $q); 
    $query = $this->db->get('item_history');

    if($query->num_rows > 0)
    {
      foreach ($query->result_array() as $row)
      {
        $new_row['label']=htmlentities(stripslashes($row['part_num']));
        $new_row['value']=htmlentities(stripslashes($row['id']));
        $row_set[] = $new_row; //build an array
      }

      echo json_encode($row_set);
    }
  }
4

1 回答 1

0

我可能错了,因为我没有彻底测试过,但我相信自动完成发送的是 GET 请求,而不是 POST 请求。所以

$q = $this->input->post('term', TRUE);

不会给你带来任何东西;相反,你应该写

$q = $this->input->get('term', TRUE);
于 2013-01-13T02:14:53.947 回答