看了大峽搞的級聯菜單,我也班門弄斧一把,嘿嘿,花了一點時間搞了個級聯菜單貼上來看看。本例中只要你選擇成員分類名稱就會自動顯示成員名稱:
首先在eclipse中建一個項目,名稱你自己做主了,這裡為Easyjf-menu,對應的浏覽器頁面代碼為:
Easyjf-menu.jsp
<@page contentType=”text/html;charser=UTF-8” language=”java”%>
<head>
……..
</head>
<script language=”javascript”>
var XMLHttpReq;
var currentSort;
//創建xmlhttprequset對象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpReq=new XMLHttpRequest();
}
else if (window.ActiveXObject){
try{
XMlHttpReq=new ActiveXObject(“Msxml2.XMLHTTP”);
}catch(e){}
try{
XMLHttpRequest=new ActiveXObject(“Microsoft.XMLHTTP”);
}catch(e){}
}
}
//發送請求函數
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open(“GET”,url,true);
XMLHttpReq.onreadystatechange=processResponse;
XMLHttpReq.send(null);
}
//處理返回信息函數
function processResponse(){
if(XMLHttpRequest.readyState==4){
if(XMLHttpRequest.status==200){
updateMenu();
}else{alert(“您請求的頁面有異常!”)}
}
}
//更新菜單函數
function updateMenu(){
var res=XMLHttpReq.responseXML.getElementIdByTagName(“res”);
var sunMenu=””;
for(var i=0;i<res.length;i++){
submenu=subMenu+res[1].fistChild.data+”<br>”;
}
currentSort.innerHTML=submenu;
}
//創建級聯菜單
function showSubMenu(obj){
currentSort=document.getElementById(obj);
currentSort.parentNode.style.display=””;
sendRequest(“menu?sort=”+obj);
}
</script>
<b>EasyJF成員</b>
<a onClick=”onShowSubMenu(‘大峽')”>大峽</a>
,該頁面中提供了對應的菜單以供用戶選擇,用戶選擇菜單後,調用showSubMenu(‘XXX')函數,其中參數用於傳遞用戶所選菜單的標識信息到服務器以決定獲取服務器的哪個在菜單內容,首先獲得菜單的識別信息,再提交給Ajax,這裡用innerHTML屬性實現定位顯示!