www.gusucode.com > 同城苏州黄页系统php源码程序 > mod.js/LinkMenu.js
var ClassMenuOptions = {} ; function clearMenu(menu,startIndex) { if( !startIndex && startIndex != 0 ) startIndex = defaultStartLoadIdx; for (index=menu.length-1;index>=startIndex;index--) { //alert("刪除原菜單第"+(index+2)+"項"); menu.options[index]=null;//刪除下級菜單中原有的選項,前一次裝載的數據需要清空 } } function InitMenu() { var Http = new ActiveXObject("Microsoft.XMLHTTP");//创建xmlhttp对象,用于收发数据到服务器短 var ClassMenuDom = new ActiveXObject("Microsoft.XMLDOM");//创建xmldom对象,用于分析、获取服务器段传回的xml中的数据 Http.open("GET",'/lib/classes.xml',false); Http.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");//如果需要 get/post 中文参数到服务器,必须出现次行,否则服务器端出现编码错误。 Http.send();//发送查询信息 ClassMenuDom.async=false //设置为同步方式获取数据 //从服务器端传回的xml信息中,获取数据 ClassMenuDom.loadXML(Http.responseText) ; var topclasses = ClassMenuDom.getElementsByTagName("level1class") ; for(var idx=0;idx<topclasses.length;idx++) { //alert( topclasses[idx].childNodes.length ) ; code = topclasses[idx].getAttribute('code') ; name = topclasses[idx].getAttribute('name') ; ClassMenuOptions[code] = { 'code':code, 'name':name, 'child':{} } ; for(var idx2=0;idx2<topclasses[idx].childNodes.length;idx2++) { lowerNode = topclasses[idx].childNodes[idx2] ; lowercode = lowerNode.getAttribute('code') ; lowername = lowerNode.getAttribute('name') ; ClassMenuOptions[code]['child'][lowercode] = { 'code':lowercode, 'name':lowername, 'child':null } ; } } } function LoadOptions( menu, parent, value ) { clearMenu(menu,1) ; if( typeof(parent)=='undefined' ) parent = ClassMenuOptions ; var idx = 1 ; for(var key in parent) { tempoption=new Option(parent[key]['name'],parent[key]['code']) ; menu.options[idx]=tempoption ; if( parent[key]['code']==value ) menu.selectedIndex = idx ; idx++ ; } } function LoadLowerOptions(menu,lowermenuid) { if( menu.selectedIndex <= 0 ) return ; code = menu.options[menu.selectedIndex].value ; LoadOptions(document.getElementById(lowermenuid),ClassMenuOptions[code]['child']) ; } function SetSelectedOption(menu_id,value) { if(!value) return ; menuctrl = document.getElementById(menu_id) ; if(!menuctrl) return ; for(var i=0;i<menuctrl.options.length;i++) { if( menuctrl.options[i].value == value ) { menuctrl.selectedIndex = i ; if( menuctrl.onchange ) menuctrl.onchange() ; return ; } } }