
layui 三级联动(超级花里胡哨)
1.html的代码,要加上
发布日期:2021-05-08 20:26:51
浏览次数:21
分类:原创文章
本文共 3538 字,大约阅读时间需要 11 分钟。
效果图就是这样的
第一级是机械的分类,第二级是机械,第三级是机械名称下的规格。
1.html的代码,要加上lay-filter
作为监听
<div class="layui-form-item"> <label class="layui-form-label">机械名称<span class="required">*</span></label> <div class="layui-input-inline"> <select id="categoryid" name="categoryid" lay-filter="categoryChange"> <option value="">--机械分类--</option> </select> </div> <div class="layui-input-inline"> <select id="machineid" name="machineid" lay-filter="machineChange" > <option value="">--机械名称--</option> </select> </div> <div class="layui-input-inline"> <select id="modelid" name="modelid"> <option value="">--规格不限--</option> </select> </div> </div>
2.js的代码,在layui里面的监听要写上,监听 select 切换事件
layui.use(['form', 'laydate', 'element', 'upload'], function(){ form = layui.form; var laydate = layui.laydate; var element = layui.element; var upload = layui.upload; loadMachineSelectData('category'); getById(); // 监听机械select切换事件 form.on('select(categoryChange)', function(data){ loadMachineSelectData('machine', data.value); }); form.on('select(machineChange)', function(data){ loadMachineSelectData('model', data.value); }); });
3.从后台获取数据
var machineObj = { category:{ url:"${webContext}/manage/machineCategory/getPage.json?limit=10000", selectEle:"#categoryid",//选择的dom emptyEle:"#categoryid [value!=''],#machineid [value!=''],#modelid [value!='']",//需要清空的dom valField:'id', textField:'name',//遍历显示的名称 }, machine:{ url:"${webContext}/manage/machine/getPage.json?limit=10000", selectEle:"#machineid", emptyEle:"#machineid [value!=''],#modelid [value!='']", valField:'id', textField:'machinename', queryField:'categoryid', }, model:{ url:"${webContext}/manage/machineItem/getPage.json?limit=10000", selectEle:"#modelid", emptyEle:"#modelid [value!='']", valField:'id', textField:'model', queryField:'machineid', }, }
4.渲染数据
function loadMachineSelectData(type, upData, selectVal) { if (type && machineObj[type]) { var obj = machineObj[type]; $(obj.emptyEle).remove(); var queryData = {}; if (upData && obj.queryField) { queryData[obj.queryField] = upData; } if (!upData && type != 'category') { form.render('select'); return } $.ajax({ type : "post", url : obj.url, data : queryData, success : function(data) { var list = data.data; if (list && list.length > 0) { $.each(list, function (i, item) { var option = $("<option></option>"); option.attr("value",item[obj.valField]); option.text(item[obj.textField]); $(obj.selectEle).append(option); }); } if (selectVal) { $(obj.selectEle).val(selectVal); } form.render('select'); } }); } }
5.数据的回显
function getById () { <#if (params.id)??> $.ajax({ url: '${webContext}/manage/leaseInfo/getById.json', data:{id:"${params.id}"}, success: function (data) { var record = data.data; for (var key in record) { $("#" + key).val(record[key]); } if (record.categoryid) { loadMachineSelectData('category', null, record.categoryid); } if (record.machineid) { loadMachineSelectData('machine', record.categoryid, record.machineid); loadMachineSelectData('model', record.machineid, record.modelid); } form.render(); } }); </#if> }
花里胡哨的三级联动就完成啦~
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月28日 15时16分28秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
聊聊我的五一小假期
2019-03-05
数据库三个级别封锁协议
2019-03-05
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2019-03-05
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2019-03-05
SLAM学习笔记-求解视觉SLAM问题
2019-03-05
程序员应该知道的97件事
2019-03-05
create-react-app路由的实现原理
2019-03-05
openstack安装(九)网络服务的安装--控制节点
2019-03-05
shell编程(六)语言编码规范之(变量)
2019-03-05
vimscript学习笔记(二)预备知识
2019-03-05
Android数据库
2019-03-05
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
2019-03-05
STM8 GPIO模式
2019-03-05
23种设计模式一:单例模式
2019-03-05
Qt中的析构函数
2019-03-05
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
2019-03-05
【单片机开发】智能小车工程(经验总结)
2019-03-05
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
2019-03-05
C++&&STL
2019-03-05