700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > jquery自动完成插件(autocomplete)应用之PHP版

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

时间:2023-11-26 13:59:04

相关推荐

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

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

打包下载

于工作中需要用到自动提示这个功能,呵呵,自己又是js小菜,于是百度了一下,找到一个用jquery与其插件autocomplete开发的.net版的自动完成功能,于是down下来了改成了php版的,并加了支持向上/向下选择文字等功能,放上来共享一下,纯体力活。。。 :)

1、下载jquery库,网址: ;

2、下载jquery autocomplete插件或者直接使用我附件里提供的文件,自己下载下来的文件需要修改一些内容才能支持向上/向下选择文字、解决中文乱码,其中解决中文乱的问题网上有提到过,就是把文件中的encodeURI改成escape,还有把keydown修改成keyup即可,至于支持向上/向下选择文字请参看附件;

3、以下是调用代码:

内容:

代码如下:

!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0 Transitional//EN" ""

html xmlns=""

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" size="30" /

script language="javascript"

$(document).ready(function() {

$("#search").autocomplete(

"getindex.php",

{

delay:10,

minChars:1,

matchSubset:1,

matchContains:1,

cacheLength:10,

,

,

,

}

);

});

function findValue(li) {

if( li == null ) return alert("No match!");

if( !! ) var sValue = [0];

else var sValue = ;

}

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;

();

return false;

}

/script

/body

/html

getindex.php

代码如下:

?php

header("");

define(SCRIPTNAV, getindex);

require_once ./include/;

$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;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。