codeigniter jquery自动完成

时间:2013-01-12 22:39:54

标签: jquery-ui codeigniter autocomplete

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

我希望能够输入“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);
    }
  }

1 个答案:

答案 0 :(得分:0)

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

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

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

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