Php 关于搜索过滤器的建议
我正在codeigniter框架中的一个网站上工作。我被困在需要实现自动完成功能的地方。我已经尝试了很多,但到目前为止我还没有找到合适的解决办法。以下是我的实际需求 网站上有一个页面几乎没有搜索过滤器。当一个人登陆此页面时,网站的所有用户都会显示在该页面上。真正的游戏开始了。有一个过滤器或输入框,根据结果的名字或姓氏过滤出结果 假设我有一个数据库,其中有3个用户 艾哈迈德·纳瓦兹 约翰·阿扎尔 莫妮卡·芬莱 当一个人开始在搜索框中输入“啊”时,我希望提示开始出现,显示他“Ahmad”。。。请告诉我怎么做?我已经搜索了很多,但我找不到一个正确的答案,关于“共点火器”。这就是我的代码目前的样子Php 关于搜索过滤器的建议,php,codeigniter,autocomplete,autosuggest,Php,Codeigniter,Autocomplete,Autosuggest,我正在codeigniter框架中的一个网站上工作。我被困在需要实现自动完成功能的地方。我已经尝试了很多,但到目前为止我还没有找到合适的解决办法。以下是我的实际需求 网站上有一个页面几乎没有搜索过滤器。当一个人登陆此页面时,网站的所有用户都会显示在该页面上。真正的游戏开始了。有一个过滤器或输入框,根据结果的名字或姓氏过滤出结果 假设我有一个数据库,其中有3个用户 艾哈迈德·纳瓦兹 约翰·阿扎尔 莫妮卡·芬莱 当一个人开始在搜索框中输入“啊”时,我希望提示开始出现,显示他“Ahmad”。。。请告诉
<input type="text" placeholder="Persons Name" name="individual_name" id="individual_name">
<script>
$(function() {
$( "#individual_name" ).autocomplete({
source: ('autocomplete_individual_name'),
select: function () {
testing()
}
});
});
</script>
第一个问题
$individual_name未填充
第二个问题
当我在users_数组中收到结果时,我接下来应该做什么?如何将其传回以显示建议
第三个问题
我使用onkeyup()调用一个过滤函数。现在,当一个人通过建议选择如何调用过滤器时
另外,请告诉我如何回复回答这个问题的人…我使用了@sign with user,但他们似乎没有收到我的回复,这就是他们从未返回的原因
任何帮助都是非常值得的
谢谢,等一下
Ahmad尝试类似的方法,您可能需要稍微更改代码以适合您 在脚本部分:
$("#individual_name").autocomplete({
source : base_url+"controller_name/suggest_names",
minLength : 1,
select: function( event, ui ) {
alert('id :'+ui.item.value) ;
//document.location.href = base_url+"controller_name/search?keyword="+ui.item.value; do something or redirect
},
success : function(resp){
//alert("auto");
},
error : function(){
alert("Oops, that didn't work. Please try again.");
}
});
在控制器中:
function suggest_names(){
print_r ( $this->model_name->suggest_names($_REQUEST['term']) );
}
在模型部件中:
function suggest_names($term){
$data = array();
$term = strtolower( addslashes( trim( urldecode($term) ) ) );
$temp = $this->db->select('name as label, id as value')->like('name', $term, 'LEFT')->get('table_name')->result_array();
$data = json_encode($temp);
//echo "<pre>";print_r($data);echo "</pre>";die;
return $data;
}
函数建议名称($term){
$data=array();
$term=strtolower(addslashes(trim(urldecode($term)));
$temp=$this->db->select('name as label,id as value')->like('name',$term,'LEFT')->get('table_name')->result_array();
$data=json_encode($temp);
//echo“”;print_r($data);echo“”;die;
返回$data;
}
如果你遇到任何问题,请告诉我。希望对你有用。很好用……但我有点小问题。我使用ajax的keyup函数根据输入更新结果。但根据我们刚刚得出的建议,当你用鼠标选择任何东西时,它不会更新结果。也就是说,它不会调用函数,因为它是在“向上键”时调用的……当用户用鼠标单击建议时如何调用它?您不会在
keyup事件上更新alert('id:'+ui.item.value)),而是查看它在哪里发出警报alert('id:'+ui.item.value)代码>。这是此处的选择事件更新。
function suggest_names($term){
$data = array();
$term = strtolower( addslashes( trim( urldecode($term) ) ) );
$temp = $this->db->select('name as label, id as value')->like('name', $term, 'LEFT')->get('table_name')->result_array();
$data = json_encode($temp);
//echo "<pre>";print_r($data);echo "</pre>";die;
return $data;
}