layui二级联动(local模式)

html代码

<div class="layui-form-item">
                    <div class="layui-inline">
                        <label class="layui-form-label">动物类别</label>
                        <div class="layui-input-inline">
                            <select name="animalType"  xm-select="animalType" lay-verify="required"
                                    xm-select-skin="default"
                                    xm-select-radio class="layui-input-block">
                                <option value="">请选择动物类别</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <label class="layui-form-label">动物名称</label>
                        <div class="layui-input-inline">
                            <select name="animalName" xm-select="animalName" lay-verify="required" xm-select-skin="default"
                                    xm-select-radio
                                    xm-select-search="" xm-select-search-type="dl">
                                <option value="">请选择动物名称</option>
                            </select>
                        </div>
                    </div>
                </div>

js代码

formSelects.on('animalType', function(id, vals, val, isAdd, isDisabled){
    $.ajax({
        url:setter.BASE_SERVER + "demo/list",
        //data 查询条件,根据动物类型查询动物名称
        data:{
            "animalType":val.type,
            "status":"1"
        },
        success:function(data){
            var data = data.res_data;
            var selectData = [];
            //拼写数据结构
            for (var i = 0 ; i < data.length ; i ++){
                var eachData = {name:data[i].animalName,value:data[i].id}
                selectData.push(eachData);
                //selectData的数据结构
                //[
                //    {"name": "燕子", "value": 1},
                //    {"name": "麻雀", "value": 2},
                //    {"name": "老鹰", "value": 3},
                //    {"name": "白鹤", "value": 4},
                //]
            }

            //local模式
            formSelects.data('animalName', 'local', {
                arr: selectData
            });
        }
    });
});

PS:在网上找了好多layui的级联demo,每个是都不太符合我的需求,最后根据文档自己写了一个。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
layui是一款基于jQuery的前端UI框架,它提供了丰富的组件和样式,方便开发者快速构建美观的网页界面。layui中并没有直接提供省市二级联动的组件,但我们可以通过layui的select组件和一些自定义的JavaScript代码来实现省市二级联动。 首先,我们需要在页面中引入layui的相关文件,包括layui.jslayui.css。然后,在HTML中创建两个select元素,一个用于选择省份,一个用于选择城市。给这两个select元素分别添加一个id,例如"province"和"city"。 接下来,我们可以使用layui的form组件来渲染这两个select元素,并通过ajax请求获取省份数据填充到省份select中。当选择了省份后,我们可以通过监听省份select的change事件,在事件回调函数中根据选择的省份值发送ajax请求获取对应的城市数据,并将城市数据填充到城市select中。 下面是一个简单的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui省市二级联动</title> <link rel="stylesheet" href="path/to/layui.css"> </head> <body> <div class="layui-form"> <div class="layui-form-item"> <label class="layui-form-label">省份</label> <div class="layui-input-block"> <select id="province" lay-filter="province"> <option value="">请选择省份</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">城市</label> <div class="layui-input-block"> <select id="city" lay-filter="city"> <option value="">请选择城市</option> </select> </div> </div> </div> <script src="path/to/jquery.js"></script> <script src="path/to/layui.js"></script> <script> layui.use(['form'], function() { var form = layui.form; // 渲染省份select $.ajax({ url: 'path/to/province.json', dataType: 'json', success: function(data) { var options = '<option value="">请选择省份</option>'; for (var i = 0; i < data.length; i++) { options += '<option value="' + data[i].id + '">' + data[i].name + '</option>'; } $('#province').html(options); form.render('select'); } }); // 监听省份select的change事件 form.on('select(province)', function(data) { var provinceId = data.value; if (provinceId) { // 根据选择的省份发送ajax请求获取城市数据 $.ajax({ url: 'path/to/city.json', dataType: 'json', data: { provinceId: provinceId }, success: function(data) { var options = '<option value="">请选择城市</option>'; for (var i = 0; i < data.length; i++) { options += '<option value="' + data[i].id + '">' + data[i].name + '</option>'; } $('#city').html(options); form.render('select'); } }); } else { $('#city').html('<option value="">请选择城市</option>'); form.render('select'); } }); }); </script> </body> </html> ``` 在上面的示例代码中,我们通过ajax请求获取省份数据和城市数据的接口路径分别为"province.json"和"city.json",你可以根据实际情况修改这两个路径。同时,你也需要根据接口返回的数据格式进行相应的处理。 希望以上内容能够帮助到你,如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只小熊猫呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值