一个AJAX自动完成功能的js封装源码[支持中文]

 更新时间:2007年02月28日 00:00:00   作者:  

发修改整理后的代码:
1 可以自动获取焦点
2 可以进行返回值和进行相关动作
3 可以正常返回显示中文

需要解决

不能进行中文传值查询

查询界面
  <link rel="stylesheet" type="text/css" href="http://capxous.com//styles/autocomplete.css" /> 


<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />

<script type="text/javascript" src="http://capxous.com/javascripts/prototype.js"></script>
<script type="text/javascript" src="http://capxous.com/javascripts/autocomplete.js"></script>




</head>

<body><div id="container">


<h1 align="center" id="logo"><a href="/" title="Home"></a></h1>


<hr class="low" />

  <style>
input {
width: 180px;
}
table.th_right th {
text-align: right;
background:#fff;
}
</style>

<style>
#flag_tbl td {
padding:0.1em;
}
</style>

<h4>Demo 1: Wikipedia live search</h4>

<input name="wiki" type="text" size="30" />

<div id="wiki_link"></div>
输入2 可以看到中文结果

<script>
new CAPXOUS.AutoComplete("flag", function() {
                return "/flag1.php?typing=" + this.text.value;
        });

        new CAPXOUS.AutoComplete("cia", function() {
                return "/agency.php?q=" + this.text.value;
        });

        new CAPXOUS.AutoComplete("city", function() {
                return "/world.php?q=" + this.text.value;
        });


        function setSelectionRange(input, selectionStart, selectionEnd) {
                if (input.setSelectionRange) {
                        input.setSelectionRange(selectionStart, selectionEnd);
                } else if (input.createTextRange) {
                        var range = input.createTextRange();
                        range.collapse(true);
                        range.moveEnd('character', selectionEnd);
                        range.moveStart('character', selectionStart);
                        range.select();
                }
        }

        function update(object, value) {
                object.text.value = value;
                var index = value.toLowerCase().indexOf(object.value.toLowerCase());
                if (index > -1) {
                        setSelectionRange(object.text, index + object.value.length, value.length);
                }
        }

        new CAPXOUS.AutoComplete("wiki", function() {
                return "autocomplete3.asp?typing=" + escape(this.text.value);
                setRequestHeader("Content-Type","application/x-www-form-urlencoded")
        });
</script>







</body>
</html>

asp文件 负责连接数据库并返回值
复制代码 代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Response.ContentType = "text/html"
Response.Charset = "GB2312"   '解决乱码问题

    Dim Conn,ConnectString
    ConnectString="Driver={Sql Server};uid=sq_dd;Database=sq_dd;PWD=ddd;server=(local)"
'数据库连接文件
    Conn.Open ConnectString
%>


<%



    typing =trim(Request.QueryString("typing"))

    if (request("typing")="") then
        page = 0
    else 
        page= request("page")

    pageSize = 8
    end if
if typing<>"" then
Set Rs=Conn.ExeCute("SELECT YGBH,DW,YGXM FROM wuhen_t_yg WHERE ygxm LIKE '%"&typing&"%' ORDER BY ygbh DESC")
do while not rs.eof
%>
<div onselect='$("wiki_link").innerHTML = "http://en.wikipedia.org//wiki/B-36_2075"' onfocus='update(this, "<%= rs(0) %>")'>
    <span class='informal'><%= rs(1) %></span>
    <%= rs(2) %>
</div>
<%
rs.movenext
loop
rs.close
set rs=nothing 
%>
<%if typing="2" then  %>
<div onselect='$("wiki_link").innerHTML = "http://en.wikipedia.org//wiki/B-36_2075"' onfocus='update(this, "中国")'>
    <span class='informal'> 中文显示</span>
     中文显示
</div>
<% end if %>   

相关文章

  • ajax请求后台得到json数据后动态生成树形下拉框的方法

    ajax请求后台得到json数据后动态生成树形下拉框的方法

    今天小编就为大家分享一篇ajax请求后台得到json数据后动态生成树形下拉框的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Ajax提交Form表单页面仍会刷新问题的快速解决办法

    Ajax提交Form表单页面仍会刷新问题的快速解决办法

    这篇文章主要介绍了 Ajax提交Form表单页面仍会刷新问题的快速解决办法,以及form 表单中存在button时ajax提交后自动刷新 问题,需要的朋友可以参考下
    2016-12-12
  • 快速获取Ajax通信对象的方法

    快速获取Ajax通信对象的方法

    下面小编就为大家带来一篇快速获取Ajax通信对象的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • MUi框架ajax请求WebService接口实例

    MUi框架ajax请求WebService接口实例

    下面小编就为大家分享一篇MUi框架ajax请求WebService接口实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • ajax实现无刷新上传文件功能

    ajax实现无刷新上传文件功能

    这篇文章主要为大家详细介绍了ajax实现无刷新上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • jQuery+Ajax+PHP实现“喜欢”评级功能附源码下载

    jQuery+Ajax+PHP实现“喜欢”评级功能附源码下载

    有同学问我如何实现一个像美丽说那样的“我喜欢”评级功能,当用户看到自己喜欢的图片或文章时,点击“红心”按钮,系统会自动记录用户的点击,并将总数加1。这样再结合不同的系统,可以将此功能应用到投票或收藏商品中去(如淘宝的收藏商品)。
    2015-10-10
  • AJAX实现数据的增删改查操作详解【java后台】

    AJAX实现数据的增删改查操作详解【java后台】

    这篇文章主要介绍了AJAX实现数据的增删改查操作,结合实例形式详细分析了ajax结合java后台实现数据库增删改查相关操作技巧,需要的朋友可以参考下
    2020-06-06
  • ajax struts2 下拉框赋值(适合所有)

    ajax struts2 下拉框赋值(适合所有)

    此代码适合所有下拉列表取值;一个项目所有的下拉列表只需要这一个公用方法,接下来为大家详细介绍下具体实现步骤,感兴趣的朋友可以参考下,希望可以帮助到你
    2013-03-03
  • 浅谈ajax请求技术

    浅谈ajax请求技术

    下面小编就为大家带来一篇浅谈ajax请求技术。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • AJAX页面状态保持思路详解

    AJAX页面状态保持思路详解

    AJAX流行的时候,很多信息为AJAX异步请求,比如:点击、翻页等。通常这种情况你一刷新浏览器,当前页面就会重置到初始状态。更不用说把看到的信息url发给好友了。下面给大家分享实现思路,一起看看吧
    2017-03-03

最新评论