博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无限级联动菜单-AJAX版(附源码下载)
阅读量:4189 次
发布时间:2019-05-26

本文共 2553 字,大约阅读时间需要 8 分钟。

 
   
   
    琥珀网 - 无限级联动菜单[AJAX版]
   
<script language="JavaScript">
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="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]))
BuildSel(returntxt,document.getElementById(MenuIdArr[classid+1]))

//============更改下下级以下菜单为空==============

var kkk
for(kkk=classid+2;kkk<=MenuClass;kkk++)
 {  
 submenu=document.getElementById(MenuIdArr[kkk]) 
 submenu.length=1
 submenu.options[0].selected=true
 }
}

function BuildSel(str,sel)

{
/*
*--------------- BuildSel(str,sel) -----------------
* BuildSel(str,sel)
* 功能:通过str构建Select.
* 参数:str,字符串,由服务端返回的.有特定结构"字符串1|,字符串2,字符串3"
*          也可为"字符串1序号|字符串1文本,字符串2序号|字符串2文本,字符串3序号|字符串3文本",如本例
* 参数:sel,要构建的Select
* 实例:BuildSel(unescape(oBao.responseText),document.all.sel2)
*--------------- BuildSel(str,sel) -----------------
*/
//先清空原来的数据.
sel.options.length=0;
var arrstr = new Array();
arrstr = str.split(",");
//开始构建新的Select.
sel.options.add(new Option( "-----请选择-----","")); 
if(str.length>0)  
{
for(var i=0;i
{
//分割字符串
var subarrstr=new Array
subarrstr=arrstr[i].split("|")
//生成下级菜单
sel.options.add(new Option(subarrstr[1],subarrstr[0]));
}
sel.options[0].selected=true
}

}

</script>

   

       
         
           
琥珀无限级联动菜单-AJAX版 [HPMenu_AJAX V1.0]
                   
           
所 在 洲:
           
  •               
  •              
  •              
  •            
  •                    
               
    国  家:
               
  •               
  •            
  •                    
               
    城  市:
               
  •               
  •            
  •                    
               
    地  区:
               
  •               
  •            
  •                    
               
     
                
        
        
             
               
     
                       
               
     
                       
               
     
                       
               
     
                       
               
     
                       
               
     
                     
            <script language="javascript">
      GetResult(document.getElementById("sel1").value,1)       
            </script>

     源代码下载:

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1599638

    你可能感兴趣的文章
    ECO技術和高雄/台中ECO/AJAX技術研討會
    查看>>
    BDS 2006 Hotfix 4铪铪铪铪铪
    查看>>
    如何重覆使用ECO建立的企業邏輯模型
    查看>>
    焦油坑与激情
    查看>>
    项目开发经验谈(二)
    查看>>
    项目开发经验谈(一)
    查看>>
    浅谈项目感觉
    查看>>
    用积木搭出的埃菲尔铁塔
    查看>>
    IT项目经理是否需要技术能力
    查看>>
    饮水者才能自知冷暖
    查看>>
    产品和样品
    查看>>
    测试Windows Sockets协议
    查看>>
    页面性能测试-QTP篇
    查看>>
    alipay支付宝招聘
    查看>>
    如何避免遗漏bug
    查看>>
    oracle性能测试
    查看>>
    日常性能测试的流程
    查看>>
    性能测试工程师的面试题
    查看>>
    浅谈流媒体测试
    查看>>
    如何提高功能自动化工具在实际工作中的覆盖
    查看>>