jquery自动完成插件(autocomplete)应用之PHP版

2016-02-19 14:34 1 1 收藏

今天图老师小编要向大家分享个jquery自动完成插件(autocomplete)应用之PHP版教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - Web开发 】

打包下载

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

于工作中需要用到自动提示这个功能,呵呵,自己又是js小菜,于是百度了一下,找到一个用jquery与其插件autocomplete开发的.net版的自动完成功能,于是down下来了改成了php版的,并加了支持向上/向下选择文字等功能,放上来共享一下,纯体力活。。。 :)
1、下载jquery库,网址:http://jquery.com/ ;
2、下载jquery autocomplete插件或者直接使用我附件里提供的文件,自己下载下来的文件需要修改一些内容才能支持向上/向下选择文字、解决中文乱码,其中解决中文乱的问题网上有提到过,就是把文件中的encodeURI改成escape,还有把keydown修改成keyup即可,至于支持向上/向下选择文字请参看附件;
3、以下是调用代码:
auto.html内容:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
script type="text/javascript" src="include/javascript/jquery.js"/script
script type="text/javascript" src="include/javascript/jquery.autocomplete.js"/script
link rel="stylesheet" type="text/css" href="include/javascript/jquery.autocomplete.css" /
title自动完成测试/title
/head
body
input type="text" name="keyword" id="search" size="30" /
script language="javascript"
$(document).ready(function() {
$("#search").autocomplete(
"getindex.php",
{
delay:10,
minChars:1,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:false
}
);
});
function findValue(li) {
if( li == null ) return alert("No match!");
if( !!li.extra ) var sValue = li.extra[0];
else var sValue = li.selectValue;
}
function selectItem(li) { findValue(li);}
function formatItem(row) { return row[0];//return row[0] + " (id: " + row[1] + ")"//如果有其他参数调用row[1],对应输出格式Sparta|896
}
function lookupAjax(){
var oSuggest = $("#search")[0].autocompleter;
oSuggest.findValue();
return false;
}
/script
/body
/html

getindex.php
代码如下:
?php
header("ContentType:text/plain;charset:gb2312");
define('SCRIPTNAV', 'getindex');
require_once './include/common.inc.php';
$keyWord=iconv('utf-8', 'gb2312', js_unescape($q));
$query = $db-query("SELECT DISTINCT(shopname) FROM {$dbpre}shops WHERE shopname LIKE '%$keyWord%' GROUP BY shopname ORDER BY addtime DESC LIMIT 0,10");
if($query)
{
while ($result = $db-fetch_array($query))
{
echo $result['shopname']."n";
}
}
//转换js escape提交过来数据
function js_unescape($str)
{
$ret = '';
$len = strlen($str);
for ($i = 0; $i $len; $i++)
{
if ($str[$i] == '%' && $str[$i+1] == 'u')
{
$val = hexdec(substr($str, $i+2, 4));
if ($val 0x7f) $ret .= chr($val);
else if($val 0x800) $ret .= chr(0xc0|($val6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val12)).chr(0x80|(($val6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%')
{
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}


来源:https://www.tulaoshi.com/n/20160219/1607262.html

延伸阅读
标签: Web开发
autopoint.js代码: 代码如下: /* * @date: 2010-5-22 21:42:15 * @author: 胡灵伟 * Depends: * jquery.js * * function:类似GOOGLE搜索框提示功能 */ (function($) { $.fn.autopoint = function (options) { defaults = { url:options.url, keyLeft : 37,//向左方向键 keyUp : 38,//向上方向键 keyRight : 39,//向右方向键 ...
标签: Web开发
在网络发展领域,由于 jQuery 简单易学,易于使用和易于扩展的特点,因此正慢慢变得无处不在。以下是从一些 jQuery 相关文章中整理出来的 30+ 新鲜与惊奇的 jQuery 插件与教程。如果你正在寻找最新的 jQuery 信息,这些内容值得一读。 教程 1. 在图像画廊载入过程中使用 jQuery 预加载技术。 | 2. 创建一个独特的熔岩灯动画效果的 j...
标签: PHP
辛苦了一下午 好在有点成就 自动登陆程序初步完成 function login($host="127.0.0.1",$msg="uname=abc&pass=psswd&op=login",$file="login.php"){      $num = strlen($msg);     $fp = fsockopen ($host, 80);     if ($fp) {  $MSGData .= "POST ".$...
标签: Web开发
.THICKBOX支持一下浏览器: Windows IE 6.0, Windows IE 7+, Windows FF 2.0.0.6+, Windows Opera 9.0+, Macintosh Safari 2.0.4+, Macintosh FF 2.0.0.6+, Macintosh Opera 9.10……但是据我的使用,IE6还是有点问题的!下面我们首先来看它的调用: 1.肯定你先要下载jquery.js和thickbox.js了.还有thickbox.css也不能少! 代码如下: script ty...
标签: Web开发
提供方便方法操作cookie : 代码如下: $.cookie('the_cookie'); // 获得cookie $.cookie('the_cookie', 'the_value'); // 设置cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的cookie $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'sosuo8.com', secure: true }); $.cookie('the_...

经验教程

738

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部