我在CodeIgniter中创建了一个自动完成搜索字段,但它无法正常工作。限制为10但每次输入字符时,列表变得很长很长,就像在图像中显示一样:
这是我的控制器:
"
这是我的模特:
'
这是我的观点:
function search_fields(){
$country_id = $this->input->get('term');
$data['var']= $this->Travel->search_field($country_id);
echo json_encode($data['var']);
}
此外,我希望用户可以从下拉列表中选择输入字段的值。有人有任何想法吗?
答案 0 :(得分:2)
你忘了从#demo中清除html。当Ajax中的成功属性从#demo中删除所有内容时:
success:function(data){
$("#demo").html('');
$.each(data, function() {
$.each(this, function(k, v) {
$("#demo").append("<li>" + v + "</li>");
});
});
}
答案 1 :(得分:0)
在模型返回result_array
中:
return $query->result_array();
在控制器中:
$search_data = $this->Travel->search_field($term);
echo json_encode($search_data);
现在,您可以使用jquery autocomplete从数据库中检索值。
<script>
$(document).ready(function() {
$(function(){
$( "#text" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "http://localhost/new/index.php/travels/search_fields",
data: { term: $("#text").val()},
dataType: "json",
type: "POST",
success: function(data){
var resp = $.map(data,function(obj){
return obj.destination;
});
response(resp);
}
});
},
minLength: 2
});
});
});
</script>