layui ajax实现菜单管理功能,layui自定义ajax左侧三级菜单

HTML代码: 需引入layui.css代码

  • 控制面板

js代码:需引入 layui.all.js

var $ = layui.jquery,

element = layui.element(),

form = layui.form();

var html = '';

//获取菜单

$.ajax({

url:"../manage/permissionList?type=1",

type:"post",

dataType:"json",

data:{},

success:function(data){

var navs=data.result;

$.each(navs,function(i,item){

html += '

html += '

'+item.title+'';

//如果有第二级菜单

if(item.children !== undefined && item.children.length > 0){

$.each(item.children,function(j,item2){

html += '

';

html += ''+item2.title+'';

//如果有三级菜单

if(item2.children !== undefined && item2.children.length > 0){

html += '

  • ';

$.each(item2.children,function(k,item3){

html += '

'+

''+

''+

''+item3.title+''+

''+

'

';

});

html += '

';

}

html += '

';

});

}

html += '

';

});

//渲染html

$('#admin-navbar-side').html(html);

}

});

//触发事件

var active = {

tabAdd: function(obj){

//新增一个Tab项

element.tabAdd('admin-tab', {

title: $(this).html()//用于演示

,content: ''

});

element.tabChange("admin-tab", $('.layui-tab-title li').length - 1);

},

tabDelete: function(index) {

//删除指定Tab项

element.tabDelete('admin-tab', index); //删除(注意序号是从0开始计算)

}

,tabChange: function(lay_id){

//切换到指定Tab项

element.tabChange('admin-tab', lay_id); //切换到:用户管理

}

};

//添加tab

$(document).on('click','a',function(){

if(!$(this)[0].hasAttribute('data-url') || $(this).attr('data-url')==='')return;

var title = $.trim($(this).text());

var tabs = $(".layui-tab-title").children();

for(var i = 0; i < tabs.length; i++) {

if($(tabs).eq(i).children('cite').text() == title) {

element.tabChange('admin-tab', i);

return;

}

}

active["tabAdd"].call(this);

resize();

active.tabChange($(".layui-tab-title").children().length - 1);

});

//iframe自适应

function resize(){

var $content = $('.admin-nav-card .layui-tab-content');

$content.height($(this).height() - 147);

$content.find('iframe').each(function() {

$(this).height($content.height());

});

}

$(window).on('resize', function() {

var $content = $('.admin-nav-card .layui-tab-content');

$content.height($(this).height() - 147);

$content.find('iframe').each(function() {

$(this).height($content.height());

});

}).resize();

//toggle左侧菜单

$('.admin-side-toggle').on('click', function() {

var sideWidth = $('#admin-side').width();

if(sideWidth === 200) {

$('#admin-body').animate({

left: '0'

}); //admin-footer

$('#admin-footer').animate({

left: '0'

});

$('#admin-side').animate({

width: '0'

});

} else {

$('#admin-body').animate({

left: '200px'

});

$('#admin-footer').animate({

left: '200px'

});

$('#admin-side').animate({

width: '200px'

});

}

});

$(document).on('click','dt',function(){

$(this).parent().find('dd').toggle();

});

$(document).on('click','dd a',function(){

$(this).next('ul').toggle();

});

本文同步分享在 博客“zy1281539626”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三级级联下拉菜单可以通过AJAX技术实现。具体实现步骤如下: 1. 在HTML页面中创建三个下拉菜单,分别表示三级菜单,每个下拉菜单的选项为空。 2. 给第一个下拉菜单绑定change事件,在该事件处理函数中使用AJAX发送请求,请求后台数据,获取第二级菜单的选项数据。 3. 在AJAX的回调函数中,将获取到的第二级菜单选项数据添加到第二个下拉菜单中。 4. 给第二个下拉菜单绑定change事件,在该事件处理函数中使用AJAX发送请求,请求后台数据,获取第三级菜单的选项数据。 5. 在AJAX的回调函数中,将获取到的第三级菜单选项数据添加到第三个下拉菜单中。 6. 用户选择完第三级菜单选项后,可以根据选项的值执行相应的操作。 示例代码如下: HTML代码: ``` <select id="province"> <option value="">请选择省份</option> </select> <select id="city"> <option value="">请选择城市</option> </select> <select id="area"> <option value="">请选择区县</option> </select> ``` JS代码: ``` // 获取省份数据 $.ajax({ url: 'getProvince.php', success: function(data) { // 将省份数据添加到第一个下拉菜单中 $('#province').html(data); } }); // 绑定省份下拉菜单change事件 $('#province').on('change', function() { var provinceId = $(this).val(); // 获取城市数据 $.ajax({ url: 'getCity.php', data: {provinceId: provinceId}, success: function(data) { // 将城市数据添加到第二个下拉菜单中 $('#city').html(data); } }); }); // 绑定城市下拉菜单change事件 $('#city').on('change', function() { var cityId = $(this).val(); // 获取区县数据 $.ajax({ url: 'getArea.php', data: {cityId: cityId}, success: function(data) { // 将区县数据添加到第三个下拉菜单中 $('#area').html(data); } }); }); // 绑定区县下拉菜单change事件 $('#area').on('change', function() { var areaId = $(this).val(); // 根据选项值执行相应操作 }); ``` 以上示例代码需要在后台编getProvince.php、getCity.php、getArea.php三个文件,分别返回对应的下拉菜单选项数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值