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(自项目。);
});


以上是本文的全部内容,希望大家能喜欢。