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 ;
		}
	}
}