PHP中Ajax自动完成功能实例

自动完成的功能即Autocomplete,具体的例子可以在这里看: http://www.b2c-battery.co.uk

在Search框内输入一个产品型号,就可以看见效果了。

这里用到了一个开源的代码: AutoAssist ,有兴趣的可以看一下。

以下为代码片断:

index.htm
<script type="text/javascript" src="javascripts/prototype.js"></script>
<script type="text/javascript" src="javascripts/autoassist.js"></script>
<link rel="stylesheet" type="text/css" href="styles/autoassist.css"/>
<div>
<input type="text" name="keyword" id="keyword"/>
<script type="text/javascript">
Event.observe(window, "load", function() {
var aa = new AutoAssist("keyword", function() {
return "forCSV.php?q=" + this.txtBox.value;
});
});
</script>
</div>

不知道为什么不能用keywords做文本框的名字,我试了很久,后来还是用keyword,搞得还要修改原代码。

forCSV.php
<?php
$keyword = $_GET['q'];
$count = 0;
$handle = fopen("products.csv", "r");
while (($data = fgetcsv($handle, 1000)) !== FALSE) {
if (preg_match("/$keyword/i", $data[0])) {
if ($count++ > 10) { break; }
?>
<div onSelect="this.txtBox.value='<?php echo $data[0]; ?>';">
<?php echo $data[0]; ?>
</div>
<?php
}
}
fclose($handle);
if ($count == 0) {
?>
: (, nothing found.
<?php
}
?>

原来的例子中的CSV文件是根据\t来分隔的,我们也可以用空格或其它的来分隔,这取决于你的数据结构。

当然你也可以不读文件,改从数据库里读资料,就不再废话了。

效果图如下:

时间: 2024-09-29 04:43:04

PHP中Ajax自动完成功能实例的相关文章

Ajax自动完成功能实例

ajax [导读]本文介绍如何实现Ajax自动完成的功能,即Autocomplete,举例在Search框内输入一个产品型号,就可以看见效果了. 自动完成的功能即Autocomplete,具体的例子可以在这里看: http://www.b2c-battery.co.uk 在Search框内输入一个产品型号,就可以看见效果了. 这里用到了一个开源的代码: AutoAssist ,有兴趣的可以看一下. 以下为代码片断: 不知道为什么不能用keywords做文本框的名字,我试了很久,后来还是用keyw

Facebook敦促开发者尽量不要产品中加入自动发布功能

摘要: 你的好友小梅在Instagram 上赞了一张照片,或者 诶,张哥,你昨在Vimeo 上赞的是啥视频啊? 相信很多Facebook 用户都因为Facebook 自动发布状态而有过尴尬.厌恶的经历.你们可以解脱了. "你的好友小梅在Instagram 上赞了一张照片",或者 "诶,张哥,你昨在Vimeo 上赞的是啥视频啊?" 相信很多Facebook 用户都因为Facebook 自动发布状态而有过尴尬.厌恶的经历.你们可以解脱了. 上周,Facebook 针对I

redis-WEB项目登录模块中的自动登录功能如何实现检查cookies是否过期

问题描述 WEB项目登录模块中的自动登录功能如何实现检查cookies是否过期 private void setLoginRedis(HashCommands commands,Object key, Object hashKey, Object value) { commands.put(RedisBusinessCode.WEB_LOGIN_LIM.getCode(), key, hashKey, value); //保存到redise commands.expire(RedisBusine

Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能实例_Android

本文实例讲述了Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能的方法.分享给大家供大家参考,具体如下: 1.布局界面 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare

如何使用xp系统中的自动维护功能教程

  大家都应该知道我们的XP系统有一个自动维护的功能,这个功能主要是在我们系统比较空的时候对我们的电脑进行更新扫描安全,更新电脑中的软件进行磁盘清理等很多的维护步骤,大家可能很少有人启动这个功能,其实这个功能还是很不错的,需要的客户不知道怎么设置的马上来看看小编给大家分享的吧! 首先我们点击打开电脑的开始菜单功能,看到栏目中的控制面板工具,点击打开弹出控制面板窗口,点开操作中心图标,然后选择自动维护就可以了. 我们有些用户开了很久以后想要关闭应该怎么办呢,我们马上来看看. 1.我们直接用快捷组合

Android开发中应用程序分享功能实例_Android

本文实例讲述了Android开发中应用程序分享功能.分享给大家供大家参考,具体如下: Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); //设置类型 shareIntent.setType("text/plain"); //设置分享的主题 shareIntent.putExtra("android.intent.extra.SUBJECT", "分享&

jquery中ajax跨域方法实例分析_jquery

本文实例分析了jquery中ajax跨域.分享给大家供大家参考,具体如下: JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问 方法一: jsonp之 getJSON js var url = "http://localhost/mytest/jsonp_php.php?callback=?"; $.getJSON(url, { "age": 21, "name

Android开发中应用程序分享功能实例

本文实例讲述了Android开发中应用程序分享功能.分享给大家供大家参考,具体如下: Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); //设置类型 shareIntent.setType("text/plain"); //设置分享的主题 shareIntent.putExtra("android.intent.extra.SUBJECT", "分享&

如何在 OSX Mountain Lion 中关闭自动保存功能?

  1.首先打开"系统偏好设置",点击"通用"图标. 2.勾选上"关闭文稿时要求保存更改" 设定完毕后,自动保存功能就关闭了,你每次尝试关闭文档的时候将会提示你保存.