如何在PHP中利用jQuery。自动完成插件实现一个自动提示功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> XHTML 强>
首先将jquery库和相关ui插件,以及css导入。
代码如下:
& lt;链接rel=皊tylesheet"href=https://www.yisu.com/zixun/" jquery.ui.autocomplete.css "/>
& lt;脚本类型=拔谋?javascript"src=https://www.yisu.com/zixun/" js/jquery.js "> 脚本>
& lt;脚本类型=拔谋?javascript"src=https://www.yisu.com/zixun/" ui/jquery.ui.core.js "> 脚本>
& lt;脚本类型=拔谋?javascript"src=https://www.yisu.com/zixun/" ui/jquery.ui.widget.js "> 脚本>
& lt;脚本类型=拔谋?javascript"src=https://www.yisu.com/zixun/" ui/jquery.ui.position.js "> 脚本>
& lt;脚本类型=拔谋?javascript"src=https://www.yisu.com/zixun/" ui/jquery.ui.autocomplete.js "> 脚本>
jQuery ui插件可以在官网上下载:
接着在身体中写一个输入框:
代码如下:
& lt;输入类型=皌ext"id=発ey"name=発ey"/比;
<强> jQuery 强>
代码如下:
$(函数(){
,,,(“# key"美元)。自动完成({
,,,,,,,来源:“search.php",
,,,,,,,最小长度:2
,,,});
});
一看就明白,调用自动完成插件,数据源来自search.php,当用户输入1个字符的时候就调用数据源.autocomplte插件提供了几个可配置的参数:
禁用:是否在页面加载后不可用,默认为false,这个没必要设置成这样,没有多大意义。
appendTo:输入时下拉的提示框追加元素,默认为“body"。
自动对焦:默认为假,当设置成真实时,下拉提示框第一个将会是被选中的状态。
延迟:加载数据时的延迟时间,默认为300,单位毫秒。
最小长度:输入多少个字符时就会出现下拉提示,默认为1。
位置:定义下拉提示框的位置。
来源:定义数据源,数据源必须是json形式的,本例是通过请求搜索。php获取的数据源。
自动完成还提供了许多事件和方法,详情请查看其官网:
<强> php 强>
调用了自动完成插件后,还并没有提示效果,别着急,因为需要调用数据源。
首先我们需要一张表,并要往表中添加适量数据,表的结构如下:
CREATE TABLE ‘艺术’,(, ,“id”int (11), NOT NULL auto_increment,, ,“标题”varchar (100), NOT 空,, ,PRIMARY KEY (id), ),引擎=MyISAM DEFAULT CHARSET=utf8 ;
,
请自行建表,并往表艺术中添加数据。
搜索。php实现了连接Mysql数据库,并根据前端用户的输入,查询并获取数据表中相匹配的内容,然后以JSON形式输出。
include_once (“connect.php");,//连接数据库, , 函数=美元q $ _GET [“term"]);,//获取用户输入的内容, 查询美元=mysql_query (“select  *,得到art where title like & # 39; q % & # 39;美元,limit 0, 10“),,//查询数据库,并将结果集组成数组, while (美元($ result中进行row=mysql_fetch_array查询)),{, 美元才能结果[],=,阵列(, ,,,& # 39;id # 39;,=祝辞,美元行[& # 39;id # 39;),, ,,,& # 39;标签# 39;,=祝辞,美元行[& # 39;标题# 39;], ,,); }, echo json_encode()美元,//输出JSON数据
最后输出的JSON数据格式为:
代码如下:
[{“id":“3“,“title":“\ u4f7f \ u7528CSS \ u548cjQuery \ u5236 \ u4f5c \ u6f02 \ u4eae \ u7684 \ u4e0b
\ u62c9 \ u9009 \ u9879 \ u83dc \ u5355"},
{“id":“4“,“title":“\ u4f7f \ u7528jQuery \ u548cCSS \ u63a7 \ u5236 \ u9875 \ u9762 \ u6253 \ u5370
\ u533a \ u57df"}]
这时,再测试下输入,是不是看到你要的效果了呢?
最后,值得一提的是,自动完成插件在firefox上有一个输入错误,输入后并不能提示,需要向前空格再退格才有提示。网上有很多同学给出了解决方案,但是目前最新的自动完成插件代码貌视进行了重构,我的解决方法是,在133行中加入如下代码:
.bind (“input.autocomplete",函数(){,//才能修复FF不支持中文bug self.search才能(self.item);, });
看完上述内容,你们掌握如何在PHP中利用jQuery.autocomplete插件实现一个自动提示功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!