琥珀无限级分类联动菜单AJAX版
我做好琥珀无限级分类联动菜单Javascript版后,在蓝色理想和CSDN上发表了一下,梅花雪兄在CSDN上提出了效率不足的问题,我也认识到了这一点,本打算项目完工后再进行完善,但一时技痒,便在网上寻找了一下资料,最后做出了此AJAX版无限级分类联动菜单。因时间匆忙,做得比较粗糙,但已利用AJAX技术,实现无限级联动,待过一段时间再完善此版本。
希望能给大家提供一些帮助,有好的建议或bug可在此帖后回复或浏览http://www.51ajax.com/bbs/发帖。
运行环境:MS IE 6.0 FireFox 1.0.1
下载地址:请点击这里
在线Demo:请点击这里
Bug 反馈:请点击这里
最后更新:2005-10-20 16:18
共有两个文件:
文件ajax.html代码如下:
琥珀网 - 无限级联动菜单[AJAX版]
body, td
{
font-family: 宋体;
font-size: 12px;
}
function GetResult(str,classid)
{
/*
*--------------- GetResult(str,classid) -----------------
* GetResult(str)
* 功能:通过XMLHTTP发送请求,返回结果.
* 参数:str,字符串,发送条件;classid,数字,菜单级别
* 实例:GetResult(document.all.userid.value,1);
*--------------- GetResult(str,classid) -----------------
*/
//定义菜单级数,菜单ID数组,菜单对应字段数组
var MenuIdArr,MenuFieldArr,MenuClass
MenuIdArr= new Array()
MenuFieldArr=new Array()
MenuClass=4
MenuIdArr[1]="sel1"
MenuIdArr[2]="sel2"
MenuIdArr[3]="sel3"
MenuIdArr[4]="sel4"
MenuFieldArr[1]="name"
MenuFieldArr[2]="name"
MenuFieldArr[3]="name"
MenuFieldArr[4]="name"
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
var linkurl="http://www.10090.com/demo/hpmenu/ajax_server.asp?classid="+classid+"&sel="+str+"&fieldname="+MenuFieldArr[classid+1]
http_request.open("GET",linkurl,false);
http_request.send(null);
//服务器端处理返回的是经过escape编码的字符串.
//在页面显示服务器查询结果
var returntxt=unescape(http_request.responseText)
if(returntxt.length>0)
{document.all,ajax.innerHTML="服务器返回结果:"+returntxt+" [Powered by AJAX]"}
else
{document.all,ajax.innerHTML=""}
//通过XMLHTTP返回数据,开始构建Select.
BuildSel(returntxt,eval("document.all."+MenuIdArr[classid+1]))
//============更改下下级以下菜单为空==============
var kkk
for(kkk=classid+2;kkk0)
{
for(var i=0;i
琥珀无限级联动菜单-AJAX版 [HPMenu_AJAX V1.0] | |
所 在 洲: |
-----请选择----- 亚洲 欧洲 |
国 家: | -----请选择----- |
城 市: | -----请选择----- |
地 区: | -----请选择----- |
下载地址:请点击这里 |
在线Demo:请点击这里 |
Bug 反馈:请点击这里 |
最后更新:2005-10-20 16:18 |
联系方式:MSN:hopesoft@msn.com |
copyright(c) 2005 Hopesoft Studio |
GetResult(document.getElementById("sel1").value,1)
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
文件ajax_server.asp代码如下:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('/upload/2006111610308411.jpg');}" alt="" src="http://zsrimg.ikafan.com/upload/2006111610308411.jpg" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>
以上两个版本的程序,也是揉合了众多网友的智慧,经我之手呈现出来,互联网的初衷与精髓就在于分享,愿这个小程序能给您带来些许方便。