用jquery写的自动提示效果
作者:亮亮 来源:亮亮blog 时间:2008-06-17 14:27:00
在填写表单的时候为了让用户有更好的体验,有时需要根据用户的输入出现提示共用户选择,我这个就是根据输入的内容,从数据库取出相关内容以供选择,这样填写起来就方便快捷多了。
支持上下键和鼠标选择。
好了,废话少说,看演示。
js代码
<script type="text/javascript">
var a_i;
function showGs(event){
if($.browser.msie){
var keyStr=event.keyCode;
}
else var keyStr=event.which;
if(keyStr!=38&&keyStr!=40&&keyStr!=13){
$("#ts").empty();
var vsGsName=escape($("#sGsName").val());
if(vsGsName!=""){
$("#ts").html("正在加载...");
$.post("s.asp",{sGsName:vsGsName},function(m){
$("#ts").html(unescape(m));
$("#ts>a").bind("click",vst);
$("#ts").css("display","block");
//初始化全局变量
a_i=-1;
});
}
else $("#ts").css("display","none");
}
else{
//使用键盘上下键选择
if($("#ts").css("display")=="block"){
//得到选择列表的长度
var aLen=$("#ts>a").length;
var _aLen=Number(aLen)-1;
//按下键盘向下方向键
if(keyStr==38){
if(a_i>=0&&a_i<=_aLen) $("#ts>a").get(a_i).style.backgroundColor="";
a_i=Number(a_i)-1;
if(a_i<0) a_i=_aLen;
$("#ts>a").get(a_i).style.backgroundColor="#CCCCCC";
}
//按下键盘的向上方向键
else if(keyStr==40){
if(a_i>=0&&a_i<=_aLen) $("#ts>a").get(a_i).style.backgroundColor="";
a_i=Number(a_i)+1;
if(a_i>=aLen) a_i=0;
$("#ts>a").get(a_i).style.backgroundColor="#CCCCCC";
}
//按下回车键
else if(keyStr==13){
var entLiText=$("#ts>a").get(a_i).innerHTML;
$("#sGsName").val(entLiText);
$("#ts").css("display","none");
}
}
}
}
function vst(){
var liText=$(this).text();
$("#sGsName").val(liText);
$("#ts").css("display","none");
}
//返回查询的公司的信息
function gsInfo(){
var vsGsName=$("#sGsName").val();
if(vsGsName!=""){
$.post("addEmp1_1.asp",{sGsName:vsGsName},function(m){
$("#content").html(m);
});
}
}
</script>
服务端代码
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
response.Charset="utf-8"
sGsName=unescape(trim(request.Form("sGsName")))
dbpath="demo.mdb"
sqlStr="select top 5 sgName from cominfo where sgName like '%"&sGsName&"%'"
connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(dbPath)
set conn=server.CreateObject("adodb.connection")
conn.open connstr
set rs=conn.execute(sqlStr)
if not rs.bof and not rs.eof then
do while not rs.eof
str=str&"<a>"&rs("sgName")&"</a>"
rs.movenext
loop
else
str="<a>没有此公司</a>"
end if
rs.close
set rs=nothing
set conn=nothing
response.Write(escape(str))
%>
标签:jquery,提示,用户,鼠标
0
投稿
猜你喜欢
Oracle数据库游标使用大全
2008-03-04 18:24:00
有效LOGO设计的最重要的提示
2010-06-09 12:05:00
玩体验,先忘掉自己
2010-01-30 13:36:00
自动生成sql语句
2008-05-09 12:42:00
比较规范的验证Email地址是否正确的正则表达式
2009-07-28 17:55:00
让ExtJs的combobox不显示HTML……
2009-05-31 17:01:00
Access数据库安全问答
2007-08-23 15:28:00
word-wrap同word-break的区别
2007-10-24 20:08:00
asp防止同时登陆的问题
2007-10-26 12:19:00
你是一个职业的页面重构工作者吗?
2008-09-29 12:07:00
开心网让人很不开心
2009-04-05 15:56:00
asp dictionary对象的用法
2011-04-14 11:09:00
asp如何编写一个DNS LOOKUP程序?
2009-11-07 18:47:00
用户体验的另一种认识
2007-10-25 12:36:00
oracle 动态AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)
2009-06-19 17:21:00
Python处理mysql数据库
2010-12-03 16:23:00
JavaScript库jQuery入门简介
2007-10-17 11:43:00
再说淘宝的评价和信用机制
2008-07-10 12:43:00
窥探jQuery——面向JavaScript程序员
2008-06-17 14:35:00
asp的分词技术
2007-08-25 17:50:00