源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 349|回复: 19

[AJAX相关] 一个AJAX自动完成功能的js封装源码[支持中文]第1/2页

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-2-28 00:00:00 | 显示全部楼层 |阅读模式
Screenshots
Pagination Internationalization
Rich format Text selection



源码下载


有个问题,等高手解决,就是怎么搞都不能支持中文,不知道要改哪个地方!期待




ASP+AJAX autocompant ASP完整演示

ASP+AJAX源码下载

翻页和其他扩展功能正在完善
复制代码 代码如下:
比如         new CAPXOUS.AutoComplete("wiki", function() { 
                return "autocomplete3.asp?typing=" + escape(this.text.value); 
                        }); 

那么在asp要接受值 
typing =trim(Request.QueryString("typing")) 
然后查询 
Set Rs=Conn.ExeCute("SELECT YGBH,DW,YGXM FROM wuhen_t_yg WHERE ygxm LIKE '%"&typing&"%' ORDER BY ygbh DESC") 

问题出在这,查询在地址栏目中输入值能有接过,但是ajax却不能返回值# 

复制代码 代码如下:
<script language="javascript" runat="server"> 
function decode(str) { 
        return unescape(str); 

</script> 
typing =decode(trim(Request.QueryString("typing")))


发修改整理后的代码:
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 %>   

Screenshots
Pagination Internationalization
Rich format Text selection



源码下载


有个问题,等高手解决,就是怎么搞都不能支持中文,不知道要改哪个地方!期待




ASP+AJAX autocompant ASP完整演示

ASP+AJAX源码下载

翻页和其他扩展功能正在完善
复制代码 代码如下:
比如         new CAPXOUS.AutoComplete("wiki", function() { 
                return "autocomplete3.asp?typing=" + escape(this.text.value); 
                        }); 

那么在asp要接受值 
typing =trim(Request.QueryString("typing")) 
然后查询 
Set Rs=Conn.ExeCute("SELECT YGBH,DW,YGXM FROM wuhen_t_yg WHERE ygxm LIKE '%"&typing&"%' ORDER BY ygbh DESC") 

问题出在这,查询在地址栏目中输入值能有接过,但是ajax却不能返回值# 

复制代码 代码如下:
<script language="javascript" runat="server"> 
function decode(str) { 
        return unescape(str); 

</script> 
typing =decode(trim(Request.QueryString("typing")))


发修改整理后的代码:
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 %>   

回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-9-12 23:14:08 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-9-14 14:44:29 | 显示全部楼层
1312315458748777
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

380

积分

中级会员

Rank: 3Rank: 3

积分
380
发表于 2022-10-7 06:31:56 | 显示全部楼层
啦啦啦啦啦啦啦啦!
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

186

积分

注册会员

Rank: 2

积分
186
发表于 2022-11-16 05:47:10 | 显示全部楼层
哈哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

14

主题

1万

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2022-12-12 20:04:29 | 显示全部楼层
啊,数码撒飒飒飒飒
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

66

积分

注册会员

Rank: 2

积分
66
发表于 2023-4-13 20:16:09 | 显示全部楼层
谢谢下载来看看
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-5-15 19:50:24 | 显示全部楼层
呵呵呵呵呵呵
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

58

积分

注册会员

Rank: 2

积分
58
发表于 2024-5-4 03:25:03 | 显示全部楼层
需要很久了终于找到了
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2024-7-13 07:00:30 | 显示全部楼层
你们谁看了弄洒了可能
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-21 22:39 , Processed in 0.131823 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表