Layui框架的select下拉框实现二级联动

3 篇文章 0 订阅
订阅专栏

岁月悠悠,衰微只及肌肤;热忱抛却,颓唐必致灵魂


使用场景:

🏥 医院信息管理:
  一级下拉框:所有科室
  二级下拉框:每个科室的床号

效果:

在这里插入图片描述


下拉框html代码:

    <div class="layui-form-item">
        <label class="layui-form-label">所在科室</label>
        <div class="layui-input-inline">
            <select name="room" id="room" lay-filter="room">
                <option value="">请选择患者所在科室</option>
            </select>
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">床号</label>
        <div class="layui-input-inline">
            <select name="bedNo" id="bedNo">
                <option value="">请输入患者床号</option>
            </select>
        </div>
    </div>

JavaScript实现代码:

	
	
    layui.use(['form','laydate'], function () {
        // layui引入需要的组件
        var $ = layui.jquery;
        var layer = layui.layer;
        var form = layui.form;

        // 二级联动 第一步 渲染父级
        $.ajax({
            url: '/room/getRoomName',	// 后台取到所有的科室名称
            dataType: 'json',
            type: 'get',
            success: function (resData) {
                
                $.each(resData.data, function (index, value) {
                    // 这里的 value.roomName
                    // 前者是页面显示的值,后者是传递给后台的值。
                    // 正常情况下,后者应该是 value.id
                    $('#room').append(new Option(value.roomName, value.roomName));	// 下拉菜单里添加元素
                });

                //渲染select
                form.render('select');
            }
        });

        
        // 第二步 监听父级,每当父级发生变化时,渲染子级的值
        form.on('select(room)', function(data){

            var roomName = data.value; // roomName 选中的科室名称
            
            $.ajax({
                url: '/room/getBedNo',
                dataType: 'json',
                type: 'post',
                data: {roomName:roomName},		// 传入科室名称,查找该科室的所有床号
                success: function (resData) {

                    // 清空床号
                    $('#bedNo').empty();

                    $.each(resData.data, function (index, value) {
                        // 这里的 value.bedNo
                        // 前者是页面显示的值,后者是传递给后台的值。
                        // 正常情况下,后者应该是 value.id
                        $('#bedNo').append(new Option(value.bedNo, value.bedNo));// 下拉菜单里添加元素
                    });

                    //渲染select
                    form.render('select');
                }
            });
        });

    });


后端代码:

实体类
@Data
@TableName("room")
public class Room {

    private Integer id;
    private String roomName;	// 科室名称
    private Integer pid;		// 病人id
    private Integer bedNo;		// 该科室下床号


}
响应体格式(把返回的对象放在ResponseResult的data中)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder(toBuilder = true)
public class ResponseResult<T> {

    private int code;   // 0:success 1:failure
    private String msg; // 返回信息
    private int count;  // 总记录数
    private List<T> data;

}
第一步:获取所有科室名称
    @RequestMapping("/getRoomName")
    @ResponseBody
    public ResponseResult<Room> getRoomName(){
		
        // 获取所有科室名称
        // select DISTINCT roomName from room
        List<Room> roomNameList = roomMapper.getRoomName();

        ResponseResult<Room> result = new ResponseResult<>();
        result.setData(roomNameList);
        
        return result;
    }

result如下:

ResponseResult(code=0, msg=null, count=0, 
data=[Room(id=null, roomName=消化内科, pid=null, bedNo=null), 
Room(id=null, roomName=肾脏内科, pid=null, bedNo=null), 
Room(id=null, roomName=血管外科, pid=null, bedNo=null)])
第二步:获取该科室下所有床号
	@RequestMapping("/getBedNo")
    @ResponseBody
    public ResponseResult<Room> getBedNo(Room room){
        
        // 前端传过来的科室名称
        String roomName = room.getRoomName();
        
        // 根据科室名称查找该科室下所有床号
        // select * from room where roomName = #{roomName}
        List<Room> roomList = roomMapper.getBedNo(roomName);
		
        ResponseResult<Room> result = new ResponseResult<>();
        result.setData(roomList);
        return result;
    }

例:选择肾脏内科,得到该科室下所有床号,result如下:

ResponseResult(code=0, msg=null, count=0, 
data=[Room(id=8, roomName=肾脏内科, pid=0, bedNo=1), 
Room(id=9, roomName=肾脏内科, pid=0, bedNo=2), 
Room(id=10, roomName=肾脏内科, pid=0, bedNo=3), 
Room(id=12, roomName=肾脏内科, pid=0, bedNo=5),
 Room(id=13, roomName=肾脏内科, pid=0, bedNo=6)])

总结:

⭐:1. 进入页面即加载一级下拉框的所有值
⭐:2. 使用Layui的lay-filter方法监听一级下拉框的值的变化,再次使用ajax方法获取所有相应的二级内容并进行展示。
⭐:3. 需要安装lombok插件
[LayUI]下拉框二级联动
德仔
03-07 1766
下拉框二级联动 在某些应用场景我们需要用到下拉选择框联动情形。 HTML: <label class="layui-form-label">公司</label> <div class="layui-input-inline"> <select name="Company" lay-filter="Company" id="Company">
layui多级联动下拉框实现_jquery基于layui实现二级联动下拉选择
weixin_39880621的博客
12-31 606
下拉选择功能我们很常见,本文主要介绍了jquery基于layui实现二级联动下拉选择(省份城市选择),具有一定的实用价值,需要的朋友可以参考下,希望能帮助到大家。先看一下简单的效果直接上代码html部分 (下拉框中value的数值我是根据数据库中取出来)城市北京市天津市河北省山西省内蒙古自治区辽宁省吉林省黑龙江省上海市江苏省浙江省安徽省福建省江西省山东省河南省湖北省湖南省广东省广西壮族自治区海南省...
layui select 下拉框 级联 动态赋值 与获取选中值
热门推荐
qq_35226176的博客
11-21 1万+
&amp;amp;amp;lt;div class=&amp;amp;quot;layui-input-block&amp;amp;quot; style=&amp;amp;quot;width:190px&amp;amp;quot;&amp;amp;amp;gt; &amp;amp;amp;lt;select name=&amp;amp;quot;&amp;amp;quot; id=&amp;amp;quot;getIn
怎么在使用select2时,覆盖layui下拉框样式
qq_36973384的博客
07-24 412
* 改变边框样式 *//* 蓝色边框 *//* 改变边框圆角 *//* 改变背景色 *//* 白色背景 *//* 改变字体样式 *//* 可以在这里添加更多的样式,比如padding, margin, color等 *//* 内边距 *//* 外边距 *//* 注意:改变下拉列表(即选项列表)的样式通常是不可能的,因为它是由浏览器控制的 */
LayUI 下拉框二级联动
qq_35752389的博客
01-17 1392
LayUI 下拉框二级联动
layui框架----下拉框二级联动
CCblibo的博客
12-01 1万+
一、layui.use 这里layui的官方文档:https://www.layui.com/doc/ layui这个框架采用的是经典模块化 layui的内置模块不是默认就加载好的,必须要执行启动模块的这种方法后模块才会加载。 layui.use就是一种加载模块的方式 如上代码 layui.use(['form', 'layer','laydate'],function(){ $ = layu...
layui 二级联动
weixin_30292745的博客
08-10 212
layui 二级联动 HTML 部分 <form onsubmit="return false;" action="__SELF__" data-auto="true" method="post" class='form-horizontal layui-form' style='padding-top:20px'> <input type="...
layui下拉框二级数据联动(select内容动态获取数据 二级联动layui监听下拉框选择
04-29 3549
layui二级联动 layui 第一个下拉框动态获取数据,选取第一个下拉框数据后,下一个下拉框根据前面选择的数据 后台动态 联动填充数据 HTML代码如下 <form class="layui-form" action=""> <div class="layui-input-inline from-ses" style="width: 140px;"> ...
layui下拉框二级数据联动 fzzx.zip
04-29
在提供的`fzzx.zip`压缩包中,包含了一个名为`a.html`的文件,这个文件很可能是用来展示如何实现layui下拉框二级联动的示例代码。打开这个HTML文件,我们可以看到一个包含两个下拉框的页面,第一个下拉框(一级)...
layui多级联动下拉框实现_jquery基于layui实现二级联动下拉选择(省份城市选择)...
weixin_30849279的博客
12-31 661
先看一下简单的效果直接上代码html部分 (下拉框中value的数值我是根据数据库中取出来)城市北京市天津市河北省山西省内蒙古自治区辽宁省吉林省黑龙江省上海市江苏省浙江省安徽省福建省江西省山东省河南省湖北省湖南省广东省广西壮族自治区海南省重庆市四川省贵州省云南省西藏自治区陕西省甘肃省青海省宁夏回族自治区新疆维吾尔自治区台湾省香港特别行政区澳门特别行政区js操作部分form.on('select(p...
jquery基于layui实现二级联动下拉选择(省份城市选择)
10-19
在本文中,我们将探讨如何使用jQuery和layui框架实现二级联动下拉选择,特别是针对省份和城市的选择。layui是一款流行的前端UI框架,它提供了丰富的组件和API,使得开发者能够快速构建美观且响应式的Web应用。在...
C# MVC 使用LayUI实现下拉框二级联动的功能
08-19
主要介绍了C# MVC 如何使用LayUI实现下拉框二级联动,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
关于layui框架下拉框省市两级联动
DSRCCSDN的博客
11-20 1万+
写在前面 废话不多说,直接进入正题 第一步,引入相关文件,具体请移步layui官网文档(https://www.layui.com/doc/) 第二步,在使用下拉框之前,需要在JS声明form模板 layui.use('form', function(){ var form = layui.form; 第三步,创建两个下拉框 &amp;lt;label cla...
layui 动态select二级联动
qq_28404381的博客
11-18 1193
功能 可增删二级联动select select选项联动 界面 select 选项联动主要代码 # select 标签部署 <div> <label>语音标签1</label> <select lay-filter="selectType"> # data-audio的值,与语音文件的name相关 <option value="1" data-audio="1">语音标签1</option> <option v
简单的layui二级联动
weixin_34332905的博客
04-29 1307
layui实现省市二级联动, 需要注意的是使用layui之后, 你看到的下拉选框就不是option了,而是一些div 1.select表单 2.JS, ajax返回的是普通的数组 转载于:https://www.cnblogs.com/Skrillex/p/10790364.html...
layui下拉框实现二级联动
sylvia_lily的博客
04-30 1519
$.ajax({ url:"/build?method=sel", type:"GET", success:function (res) { console.log(res); //遍历后端数据 $.each(res,function(index,value){ $("#cname").append(.
layui怎么给下拉框赋值_layuiselect下拉框赋值
最新发布
09-05
layui是一个轻量级的前端UI库,它提供了一个简单易用的方式来创建HTML select下拉框并设置初始值。以下是使用layui设置select下拉框值的基本步骤: 1. 首先,在HTML结构中添加一个layuiselect元素,例如: ```...
写文章

热门文章

  • SpringBoot解决启动kafka:Connection to node -1 could not be established. Broker may not be available 16247
  • Layui框架表单布局【每行一个,两个,三个input输入框】教程 14128
  • SSM实现图片的上传和前端展示—超详细版 7842
  • Layui框架的select下拉框实现二级联动 6714
  • 解决提交Form表单自动变为Get请求,地址栏带参数。 3431

分类专栏

  • java 4篇
  • 软考#高项 1篇
  • mysql 2篇
  • html 2篇
  • Redis 1篇
  • Layui 3篇
  • jsp 1篇
  • kakfa 1篇

最新评论

  • 2023【软考高项】五大过程组、十大知识域记忆口诀,故事记忆法

    野花太放肆: 感谢指出,已更正

  • 2023【软考高项】五大过程组、十大知识域记忆口诀,故事记忆法

    「已注销」: 哈喽博主,有几处问题,麻烦博主修改一下表情包 1、进度管理 第二项是定义活动 2、资源管理 第六项是控制资源 3、干系人管理 第二项是规划干系人参与

  • 2023【软考高项】五大过程组、十大知识域记忆口诀,故事记忆法

    Isabella_meng: 非常感谢,提供了很大的便利。

  • 2023【软考高项】五大过程组、十大知识域记忆口诀,故事记忆法

    Isabella_meng: 希望今年我们都能过,跟楼主一起加油。

  • 2023【软考高项】五大过程组、十大知识域记忆口诀,故事记忆法

    野花太放肆: 没有,我论文是合同那一批。

最新文章

  • 关闭canal-adapter druid监控页
  • 记一次正式环境MySQL CPU飙升100%事故解决过程
  • 2023【软考高项】五大过程组、十大知识域记忆口诀,故事记忆法
2024年2篇
2023年4篇
2021年8篇
2020年1篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

天下网标王潍坊教育局优化网站优化网站关键词需要做什么工作绵阳网站搜索引擎优化二七区网站优化推荐娄底网站优化外包秦皇岛优化网站单价沧州网站优化平台网站优化需要考虑什么新乡正规网站优化外包网站优化推广选用云速捷承德网站优化多少钱网站优化 情况百度文库网站优化濮阳瓷砖行业网站优化推广可靠吗利津网站优化公司泉州网站SEO优化网站快速优化产品易速达丰泽网站优化推广万寿路网站优化枣庄网站优化价格一般是多少罗湖推广网站优化软件长治网站优化价格网站优化重庆番禺专业网站优化京东网站搜索引擎的优化网站优化推广哪里好蓬莱网站优化怎么选江苏网站关键词优化批发网站排名优化尉嘶云速捷棒网站优化与SEO区别香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化