js+数据库生成三级动态tree导航菜单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js+数据库生成三级动态tree导航菜单相关的知识,希望对你有一定的参考价值。

最近要做一个项目,废话先不多说,我说要求,看图:要求:1.top和left为include的页面片段2.top的菜单为系统的模块菜单,每个菜单对应一个系统模块,属于一级菜单3.点击相应top的菜单在left生成对应模块的菜单,比如按钮1是人员管理,点击后在left生成部门管理,权限管理,此为二级菜单,点击相应二级菜单在二级菜单下显示出它的子菜单也就是三级,如点击人员管理出现部门管理等三级菜单,当然这些数据应该是存在数据库中的,是从数据库动态调用的,还有主页面要相应到链接页面。4.这个是个java项目。如果做静态的话每个模块加一个tree的页面就好了,直接调用,但是这样模块多页面太多,我不知道怎样去从数据库拿出相应的数据放到left的菜单里,并且分级,left的页面就一个,静态部分比如样式什么都一样,只是显示的内容什么的不一样。大家谁会?如果能教会我做好的话,我会多加点分。

参考技术A US OK--> 谁有php+JS的三级联动菜单啊~急用~~可以连接mysql数据库的_百度知道 var IKFromImport=false; | | G("log_in").src=" http://passport.baidu.com/?login&tpl=ik&u"+escape(location.href); 知道 | function ask(fn) (function()Fe.on(window,"resize",A);A();setTimeout(A,100))(); if(!g_f_js)

if (typeof(cf)=="function")
var IknowPageModify=false;var UnloadConfirm=;UnloadConfirm.clear=function();UnloadConfirm.set();if(!G)return Afunction ctlSubmit(A)function lockButton(A),3000)function cReply(A)if(A=="no")function fixReply(A)function showcpro(A)function ga(B,A)elset=h.idif(t==a||p==a||r==a)window.open(G(a).href,"_blank")function ss(A)function cs()var query=(function()D.onsubmit=function()document.forms.ftop.appendChild(E(query.isChanged()));return truefunction A()return B!=document.forms.ftop.word.valuereturn)();function statFunc(A)function voteAnswer(A)function formSubmit(B,A),B),A||"deal");var url = escape(location.href);IknowLogParams["page"]="ikqb"; > > >

已解决

谁有PHP+JS的三级联动菜单啊~急用~~可以连接MYSQL数据库的 悬赏分:5 - 提问时间2006-12-9 15:44 提问者: -
参考技术B 我给你传一套程序吧,你去用吧。

省市县三级异步加载导航

省市县三级联动(动态):
逻辑:请求后台数据 一级菜单(省),创建html,赋值,添加,每个菜单绑定点击事件,根据与2级菜单的关系数据请求数据,加载2级菜单(市),同理获取三级菜单(县、区)
//点击加载省
function province() {
var proHtml = ‘‘, that = this;
getData(gg.core.url.rootPath+"/ta/admin/areanum/list/", 0, function (data) {
for (var i = 0; i < data.length; i++) {
proHtml += ‘<option value="‘ + data[i].zipCode +‘.‘+data[i].name+‘">‘ + data[i].name + ‘</option>‘;
}
//初始化省数据
$("select[name=province]").append(proHtml);
form.render();
form.on(‘select(province)‘, function (proData) {
$("select[name=area]").html(‘<option value="">请选择县/区</option>‘);
//获取联动参数:zipCode以及省份值
var zipCode = parseInt(proData.value.split(‘.‘)[0]);
if (zipCode > 0) {
getData(gg.core.url.rootPath+"/ta/admin/areanum/list/", zipCode, city);

} else {
$("select[name=city]").attr("disabled", "disabled");
}
});
})
}
//市加载
function city(city) {
var cityHtml = ‘<option value="">请选择市</option>‘, that = this;
for (var i = 0; i < city.length; i++) {
cityHtml += ‘<option value="‘ + city[i].zipCode + ‘.‘+city[i].name+‘">‘ + city[i].name + ‘</option>‘;
}
$("select[name=city]").html(cityHtml).removeAttr("disabled");
form.render();
form.on(‘select(city)‘, function (cityData) {
var zipCode = parseInt(cityData.value.split(‘.‘)[0]);
if (zipCode > 0) {
getData(gg.core.url.rootPath+"/ta/admin/areanum/list/", zipCode, area);
} else {
$("select[name=area]").attr("disabled", "disabled");
}
});
}
//县/区加载
function area(area) {
var areaHtml = ‘<option value="">请选择县/区</option>‘, that = this;
for (var i = 0; i < area.length; i++) {
areaHtml += ‘<option value="‘ + area[i].zipCode + ‘.‘+area[i].name+‘">‘ + area[i].name + ‘</option>‘;
}
$("select[name=area]").html(areaHtml).removeAttr("disabled");
form.render();
form.on(‘select(area)‘, function (ar) {
//console.log(ar);
var zipCode = parseInt(ar.value.split(‘.‘)[0]);
console.log(zipCode);
if (zipCode > 0) {
placeId(zipCode)
} else {
$("select[name=placeId]").attr("disabled", "disabled");
}
});
}

 后台数据格式:"data": { "id": 1, "name": "北京市", "preCode": "0", "zipCode": "11" },



























































以上是关于js+数据库生成三级动态tree导航菜单的主要内容,如果未能解决你的问题,请参考以下文章

jquery三级导航

easyui-accordion 如何实现左侧多层导航菜单

jquery三级导航,级联菜单精简

css 实现导航菜单

easyui 怎么动态生成左侧菜单

实现导航菜单功能