无法单击选项select2

时间:2019-08-28 03:41:02

标签: php jquery json codeigniter jquery-select2

我尝试使用select2 jQuery,它可以在输入内容并向下滚动数据后显示数据库中的数据,但是我无法单击显示的数据。我不知道这是怎么回事,也不知道如何解决。

这是我的看法

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
  </head>
  <body>
  <select class="searching form-control" style="width:500px" name="searching"></select>
  </body>
 <script type="text/javascript">
  $('.searching').select2({
    placeholder: '--- Select Company ---',
    ajax: {
      url: '<?php echo base_url('Company2/select2');?>',
      dataType: 'json',
      delay: 250,
      processResults: function (data) {
        return {
          results: data
        };
      },
      cache: true

    }
  });

这是我的控制器

public function select2(){
$json = [];


$this->load->database();

if(!empty($this->input->get("q"))){
  $this->db->like('Name', $this->input->get("q"));
  $query = $this->db->select('Name as text')
        ->limit(10)
        ->get("dbo.Company");
  $json = $query->result();
}


echo json_encode($json);
 }

1 个答案:

答案 0 :(得分:2)

Select2期望选项值字段,而您没有通过它。

结果参数应如下所示。

"results": [ { "id": 1, "text": "Option 1" }, { "id": 2, "text": "Option 2" } ]

您需要在这里更改。 $this->db->select('Name as id, Name as text')