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

文章介绍了如何使用layui框架创建地市二级联动的下拉菜单。首先,展示了HTML结构,包括两个select元素。然后,通过JavaScript实现联动效果,通过Ajax获取省份和城市数据,动态填充下拉选项,并使用layui的form模块进行渲染。当父级省份选择改变时,会重新加载子级城市的选择项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layui的地市二级联动菜单,官网仅有示例代码,仅备存。需要时查阅。

表单组件 form - Layui 文档

下拉菜单代码:

<form class="layui-form">
    <label class="layui-form-label">联动选择框</label>
    <div class="layui-input-inline">
      <select name="quiz1" lay-filter="quiz1"></select>
    </div>
    <div class="layui-input-inline">
      <select name="quiz2" lay-filter="quiz2"></select>
    </div>
</form>

JavaScript实现代码:

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

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

                //渲染select
                form.render('select');
            }
        });
        // 第二步 监听父级,每当父级发生变化时,渲染子级的值
        form.on('select(quiz1)', function(data){
            var provinceName = data.value; // roomName 选中的省份名称
            
            $.ajax({
                url: '/getCity',
                dataType: 'json',
                type: 'post',
                data: {
                    provinceName: provinceName
                },		// 传入科室名称,查找该科室的所有床号
                success: function (resData) {
                    // 清空床号
                    $('#quiz2').empty();
                    $.each(resData.data, function (index, value) {
                        // 这里的 value.cityname
                        // 前者是页面显示的值,后者是传递给后台的值。
                        // 正常情况下,后者应该是 value.id
                        $('#quiz2').append(new Option(value.cityname, value.cityname));// 下拉菜单里添加元素
                    });

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

    });

效果图:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个高效工作的家伙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值