我尝试使用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);
}
答案 0 :(得分:2)
Select2
期望选项值字段,而您没有通过它。
结果参数应如下所示。
"results": [
{
"id": 1,
"text": "Option 1"
},
{
"id": 2,
"text": "Option 2"
}
]
您需要在这里更改。 $this->db->select('Name as id, Name as text')