AJAX實(shí)現(xiàn)web頁(yè)面中級(jí)聯(lián)菜單的設(shè)計(jì)
更新時(shí)間:2007年03月06日 00:00:00 作者:
看了大峽搞的級(jí)聯(lián)菜單,我也班門弄斧一把,嘿嘿,花了一點(diǎn)時(shí)間搞了個(gè)級(jí)聯(lián)菜單貼上來(lái)看看。本例中只要你選擇成員分類名稱就會(huì)自動(dòng)顯示成員名稱:
首先在eclipse中建一個(gè)項(xiàng)目,名稱你自己做主了,這里為Easyjf-menu,對(duì)應(yīng)的瀏覽器頁(yè)面代碼為:
Easyjf-menu.jsp
<@page contentType=”text/html;charser=UTF-8” language=”java”%>
<head>
……..
</head>
<script language=”javascript”>
var XMLHttpReq;
var currentSort;
//創(chuàng)建xmlhttprequset對(duì)象
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){}
}
}
//發(fā)送請(qǐng)求函數(shù)
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open(“GET”,url,true);
XMLHttpReq.onreadystatechange=processResponse;
XMLHttpReq.send(null);
}
//處理返回信息函數(shù)
function processResponse(){
if(XMLHttpRequest.readyState==4){
if(XMLHttpRequest.status==200){
updateMenu();
}else{alert(“您請(qǐng)求的頁(yè)面有異常!”)}
}
}
//更新菜單函數(shù)
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;
}
//創(chuàng)建級(jí)聯(lián)菜單
function showSubMenu(obj){
currentSort=document.getElementById(obj);
currentSort.parentNode.style.display=””;
sendRequest(“menu?sort=”+obj);
}
</script>
<b>EasyJF成員</b>
<a onClick=”onShowSubMenu(‘大峽')”>大峽</a>
,該頁(yè)面中提供了對(duì)應(yīng)的菜單以供用戶選擇,用戶選擇菜單后,調(diào)用showSubMenu(‘XXX')函數(shù),其中參數(shù)用于傳遞用戶所選菜單的標(biāo)識(shí)信息到服務(wù)器以決定獲取服務(wù)器的哪個(gè)在菜單內(nèi)容,首先獲得菜單的識(shí)別信息,再提交給Ajax,這里用innerHTML屬性實(shí)現(xiàn)定位顯示!
首先在eclipse中建一個(gè)項(xiàng)目,名稱你自己做主了,這里為Easyjf-menu,對(duì)應(yīng)的瀏覽器頁(yè)面代碼為:
Easyjf-menu.jsp
<@page contentType=”text/html;charser=UTF-8” language=”java”%>
<head>
……..
</head>
<script language=”javascript”>
var XMLHttpReq;
var currentSort;
//創(chuàng)建xmlhttprequset對(duì)象
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){}
}
}
//發(fā)送請(qǐng)求函數(shù)
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open(“GET”,url,true);
XMLHttpReq.onreadystatechange=processResponse;
XMLHttpReq.send(null);
}
//處理返回信息函數(shù)
function processResponse(){
if(XMLHttpRequest.readyState==4){
if(XMLHttpRequest.status==200){
updateMenu();
}else{alert(“您請(qǐng)求的頁(yè)面有異常!”)}
}
}
//更新菜單函數(shù)
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;
}
//創(chuàng)建級(jí)聯(lián)菜單
function showSubMenu(obj){
currentSort=document.getElementById(obj);
currentSort.parentNode.style.display=””;
sendRequest(“menu?sort=”+obj);
}
</script>
<b>EasyJF成員</b>
<a onClick=”onShowSubMenu(‘大峽')”>大峽</a>
,該頁(yè)面中提供了對(duì)應(yīng)的菜單以供用戶選擇,用戶選擇菜單后,調(diào)用showSubMenu(‘XXX')函數(shù),其中參數(shù)用于傳遞用戶所選菜單的標(biāo)識(shí)信息到服務(wù)器以決定獲取服務(wù)器的哪個(gè)在菜單內(nèi)容,首先獲得菜單的識(shí)別信息,再提交給Ajax,這里用innerHTML屬性實(shí)現(xiàn)定位顯示!
您可能感興趣的文章:
- jQuery+ajax實(shí)現(xiàn)無(wú)刷新級(jí)聯(lián)菜單示例
- Ajax級(jí)聯(lián)菜單實(shí)例代碼
- 前臺(tái)JS(jquery ajax)調(diào)用后臺(tái)方法實(shí)現(xiàn)無(wú)刷新級(jí)聯(lián)菜單示例
- AJAX 二級(jí)級(jí)聯(lián)菜單實(shí)現(xiàn)代碼
- Ajax+Json 級(jí)聯(lián)菜單實(shí)現(xiàn)代碼
- ThinkPHP使用心得分享-ThinkPHP + Ajax 實(shí)現(xiàn)2級(jí)聯(lián)動(dòng)下拉菜單
- 利用了jquery的ajax實(shí)現(xiàn)二級(jí)聯(lián)互動(dòng)菜單
- ajax讀取數(shù)據(jù)庫(kù)內(nèi)容實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)下拉選擇菜單示例
- Javascript級(jí)聯(lián)下拉菜單以及AJAX數(shù)據(jù)驗(yàn)證核心代碼
- 基于asp+ajax和數(shù)據(jù)庫(kù)驅(qū)動(dòng)的二級(jí)聯(lián)動(dòng)菜單
- 一個(gè)強(qiáng)健 實(shí)用的asp+ajax二級(jí)聯(lián)動(dòng)菜單(有演示和附源程序打包下載)
- ajax級(jí)聯(lián)菜單實(shí)現(xiàn)方法實(shí)例分析
相關(guān)文章
kkpager 實(shí)現(xiàn)ajax分頁(yè)查詢功能
kkpager 實(shí)現(xiàn)ajax分頁(yè)查詢功能,前臺(tái)分頁(yè)數(shù)據(jù),適合數(shù)據(jù)少量的時(shí)候,因?yàn)榉猪?yè)的數(shù)據(jù)是從后臺(tái)獲取的,大數(shù)據(jù)的話不建議使用 ,具體前后臺(tái)代碼大家參考下本文吧2017-08-08Ajax 返回字符串的過(guò)濾實(shí)現(xiàn)代碼
在調(diào)用Ajax返回后。一個(gè)奇怪的問(wèn)題。返回的resultString值是“ok”但是跟字符串"ok"比較確不相等。2009-08-08jQuery AJAX實(shí)現(xiàn)調(diào)用頁(yè)面后臺(tái)方法
這篇文章主要為大家詳細(xì)介紹了jQuery AJAX實(shí)現(xiàn)調(diào)用頁(yè)面后臺(tái)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05jquery ajax多次請(qǐng)求數(shù)據(jù)時(shí) 不刷新問(wèn)題的解決方法
下面小編就為大家?guī)?lái)一篇jquery ajax多次請(qǐng)求數(shù)據(jù)時(shí) 不刷新問(wèn)題的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10