用jquery写的自动提示效果
作者:亮亮 来源:亮亮blog 发布时间:2008-06-17 14:27:00
标签:jquery,提示,用户,鼠标
在填写表单的时候为了让用户有更好的体验,有时需要根据用户的输入出现提示共用户选择,我这个就是根据输入的内容,从数据库取出相关内容以供选择,这样填写起来就方便快捷多了。
支持上下键和鼠标选择。
好了,废话少说,看演示。
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))
%>
0
投稿
猜你喜欢
- 每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句,特别是字段比较多的时候很麻烦,动不动就容易写错。所以我就写了下面的生成sql
- 先写一个批处理文件,给个例子。 代码如下:set rq=%date:~0,10% exp system/system的
- 为什么要用flash呢?动画流畅,视觉效果好缓存能力强那使用flash有什么问题呢?需要Flash播放器在M$的补丁打遍天下之前IE有那神奇
- 声明定位元素:position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。平台:win/I
- InstrRev描述:返回某字符串在另一个字符串中出现的从结尾计起的位置。语法:InstrRev(string1, string2
- 在 MySQL下,在进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却
- Oracle的执行计划一句话命令:set autotrace on
- 密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又有可能会给我们造成不必要的损失。作为网站设计者,如果我们在网页中能对用户输入的
- 将Excel中的数据导入到Access中,前提是在Access中的表已经建好。 dim conn dim co
- 阅读上一篇:javascript面向对象编程(二) [Interface,Class.implement 接口及实现]接口规定了一些方法,如
- 一、什么是匿名函数?在Javascript定义一个函数一般有如下三种方式:函数关键字(function)语句:function f
- 下面是一些有助于更有效地使用 SQL 事件探查器的提示和技巧。运行的跟踪过多如果 Microsoft? SQL Server? 实例运行得过
- 本文由 kouyubo 整理到现在为止,只有一些已经工作的特性,他们中的一些如下:圆角从web2.0开始,开始流行使用圆角,如果你不使用圆角
- MySQL 拥有一个复杂的但直观易学的 SQL 接口。这个章节描述了各种不同的命令、类型和函数,为了高效地使用 MySQL 需要了解它们。这
- 方案:◆1、SELECT TOP PAGESIZE NEWSTITLEFORM NEWSINFO WHERE NEWSID NOT IN(S
- 方法来源于土豆网的导航,在这里纪录一下实现的思路。主要是利用 position 属性的 absolute 和 relative 配
- 经过摸索和实践,我把自己的解决方法,写在下面: 说明: 我的Oracle客户端的版本是 oracle 9i, 安装client端的时候,不能
- 目前,很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELE
- Debug Textarea这个东西是在线写 js 脚本的时候,用来即时查错的东西!也就是,当发现所编写的脚本有问题的时候会有相应的提示,并
- 在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交