PHP结合jquery.autocomplete插件来实现自动输入提示功能
我们在许多项目中使用搜索功能,帮助用户更快更准确地找到您想要的信息。本文将介绍如何实现用户输入的自动提示功能。就像百度谷歌搜索引擎一样,当用户输入关键词时,在输入框下会有提示,并且会显示与关键词相关的信息供用户选择和增强用户体验。本文将使用autocomplete插件jQuery UI,结合后端PHP,和数据源读取mysql数据表的数据通过PHP。
XHTML
首先,jQuery库和相关的UI插件和CSS是导入的。
复制代码代码如下所示:
jQuery插件可以在官方网站上下载:
然后在正文中写一个输入框:
复制代码代码如下所示:
jQuery
复制代码代码如下所示:
$(函数(){())
$(#关键)。Autocomplete({
来源:搜索
最大长度:2
});
});
只要你看,自动完成插件被调用,数据来源是php,和数据源就是当用户输入1个字符,autocomplte插件提供了一些配置参数:
禁用:在加载页面后,它是不可用的,默认是false,它不需要设置为true,而且没有多大意义。
appendto:对输入的下拉提示框添加到元素,和默认的是身体。
自动对焦:默认为false,当设置为true时,下拉提示框将是第一个选定的状态。
Delay:加载数据的延迟时间为300,单位为毫秒。
最大长度:下拉提示将出现的字符数是进入,并默认是1。
位置:定义下拉提示框的位置。
来源:定义数据源,数据源必须是JSON的形式,这个例子是数据源的获取请求php。
自动完成功能还提供了一系列的事件和方法,详情见其官方网站:
PHP
调用autocomplete插件后,没有及时的效果。不要担心,因为您需要调用数据源。
首先,我们需要一个表,并向表中添加适当的数据量。表的结构如下所示:
创建表(艺术)
` ID ` int(11)不为空auto_increment,
`标题` varchar(100)不为空,
主键(id)
)= MyISAM引擎默认的字符集utf8;
请自行构建表,并将数据添加到表艺术中。
php实现MySQL数据库的连接,以及查询和获取匹配的内容,在数据表中根据前端用户的输入,然后输出JSON形式。
include_once(连接。PHP); / /数据库连接
Q = strtolower美元(美元_get {术语}); / /获取用户输入的内容
为查询= mysql_query(选择*从艺术标题像$ Q % 'limit 0,10 );
查询数据库,结果集由数组组成。
而($行= mysql_fetch_array($查询)){
$结果数组
ID = > $行{ 'id' },
标签= > $行{标题}
);
}
回声json_encode($结果); / / JSON输出数据
JSON数据格式的最终输出是:
复制代码代码如下所示:
{id:3
◎u9009 u62c9 u9879 u83dc u5355},
{id:4
u533a u57df} }
这时,测试输入,你看到你想要的效果了吗
最后,值得一提的是,自动完成插件的Firefox上的输入错误,并提示无法进入后,需要及时的空间之前再通。在互联网上有很多学生给出解决方案,但最新的自动完成插件代码外形重建。我的解决方案是将以下代码添加到133行中:
。绑定(输入自动完成。
FF不支持bug中文修复
self.search(自项目。);
});
以上是本文的全部内容,希望大家能喜欢。