layui 实现弹窗层下拉搜索选择框

本文详细描述了如何在HTML中使用数据属性与JavaScript事件监听配合layui库,实现动态加载下拉列表并通过AJAX向服务器发送请求的过程。
摘要由CSDN通过智能技术生成

在html中:

<a class="btn ygyouhui2 btn-xs audit_btn" href="javascript:void(0);" title="通过" data-id="{$row['id']}" >通过</a>

在js中:

<script> 
   // 事件监听 
   $('.audit_btn').click(function (){
        const id = $(this).data('id')
        // 引入 layer,form组件 
        layui.use(['layer','form'], () => {
            var layer = layui.layer;

            // 拼接option
            let htmlStr = '<form class="layui-form">' +
                '<div class="layui-form-item">' +
                    '<select name="interest" lay-verify="required" lay-search="">' +
                    '<option value="">请选择</option>';
            $.each(store_list,function (key,item) {
                htmlStr += '<option value="'+key+'">'+ item +'</option>';
            })
            htmlStr += '</select>' +
                    '</div>' +
                '</form>';

            layer.open({
                title: '请选择',
                content: htmlStr,
                btn: ['通过'],
                success: function(layero, index) {
                    layui.form.render();
                    layero.find('.layui-layer-content').css('overflow', 'unset');
                } ,
                yes: function(index, layero){
                    // 获取选中的值
                    var store_id = layero.find("select").val();
                    if(store_id == ''){
                        layer.msg('请选择关联商户!')
                        return
                    }
                    // 输出选中的值
                    layer.close(index); //关闭弹层

                    var url = "请求地址";
                    var data = {};
                    data.id = id;
                    data.store_id = store_id;
                    data.op = 'adopt';

                    // ajax请求接口
                    $.ajax({
                        url: url,
                        data: data,
                        dataType: 'json',
                        success: function(data) {
                            var txt = data.msg;
                            layer.msg(txt)
                            if(data.status == 1){
                                window.location.href = data.url;
                            }
                        }
                    });
                }
            });
        })


    })
</script>

效果展示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值