Layui搜索下拉框(xm-select)

xm-select  文档链接地址xm-select

layui官网https://www.layui.com/demo/

最近做的一个项目要用的一个动态下拉框搜索,最开始用的是formSelects 但是这个数据量大的话,渲染的速度慢代码冗余,不够流畅,xm-select是formselects的升级版,利用preact进行渲染, 大幅度提高渲染速度, 并且可以灵活拓展,下面是我使用的一个下拉单选搜索.

上图片:

这个是控件点击展开的样子

在搜索框中可以输入要查找的内容只要是控件展开上的内容,也可以设置只输入前边的或者输入后边的因为我的这个是两个字段拼接显示的因为业务需求需要汉子和字母都要搜索,可以根据自己的需求来设置,只需要在sql语句中控制一下就可以

因为这个是基于layui的界面所以你需要先去layui的官网下载一下layui的js和css,然后去xm-select 里面下载js和css(链接在上面)

下面放代码HTML页面:   

<!doctype html>
<html lang="en">
<head>
    <link rel="stylesheet" href="~/layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="~/layuiadmin/style/admin.css" media="all">
    <script src="~/Scripts/xm-select/dist/xm-select.js"></script>
    <script src="~/Scripts/jquery-3.3.1.js"></script>
    <script src="~/layuiadmin/layui/layui.js"></script>
</head>
<body>
    <div class="layui-form-item">
        <label class="layui-form-label">刻制人</label>
        <div class="xm-select-demo" name="SCarver" id="demo5">
        </div>
    </div>
    <script>

        var demo4 = xmSelect.render({
            el: '#demo5',        //绑定页面上的id
            filterable: true,
            clickClose: true,
            name: 'SCarver',     //页面上的name
            style: { width: '212px' },
            remoteSearch: true,
            radio: true,      //单选
            showCount: 50,    //下拉展开显示的条数
            searchTips: "输入名字或账号",
            remoteMethod: function (val, cb, show) {
                //需要回传一个数组
                $.ajax({
                    type: 'post',
                    url: '/Seal/SelectUserAll',           //数据接口
                    data: { keyword: val },               //搜素框里的值
                    dataType: 'json',

                    success: function (data) {
                        var res = data;
                        console.log(data);
                        cb(res.data)
                    },
                    error: function myfunction() {
                        cb([]);
                    }
                });
            },
            data: []
        });
    </script>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
xm-select 是一个基于 layui下拉框组件,可以实现多选、搜索、异步加载等功能。下面是一个简单的示例代码: ```html <div class="layui-form-item"> <label class="layui-form-label">多选下拉框</label> <div class="layui-input-block"> <select xm-select="demo2" xm-select-max="3" xm-select-search xm-select-skin="default" name="city[]" lay-verify="required" multiple> <option value="0">北京</option> <option value="1">上海</option> <option value="2">广州</option> <option value="3">深圳</option> <option value="4">杭州</option> <option value="5">南京</option> <option value="6">武汉</option> <option value="7">成都</option> </select> </div> </div> ``` 其中,`xm-select` 属性指定了下拉框的 ID,`xm-select-max` 属性指定了最多可选项数,`xm-select-search` 属性表示开启搜索功能,`xm-select-skin` 属性指定了皮肤样式,`multiple` 属性表示开启多选。 在 JavaScript 中,我们需要使用 `xmSelect` 函数初始化下拉框,并设置各种配置项: ```javascript layui.use(['xmSelect'], function(){ var xmSelect = layui.xmSelect; var demo2 = xmSelect.render({ el: '#demo2', name: 'city', layVerify: 'required', filterable: true, searchPlaceholder: '请选择城市', tips: '最多选择3个城市', max: 3, data: [{ name: '北京', value: 0 }, { name: '上海', value: 1 }, { name: '广州', value: 2 }, { name: '深圳', value: 3 }, { name: '杭州', value: 4 }, { name: '南京', value: 5 }, { name: '武汉', value: 6 }, { name: '成都', value: 7 }] }); }); ``` 其中,`el` 属性指定了下拉框的 ID,`name` 属性指定了提交表单时的参数名,`layVerify` 属性指定了表单验证规则,`filterable` 属性表示开启搜索功能,`searchPlaceholder` 属性指定了搜索框的提示文本,`tips` 属性指定了超出可选项数时的提示文本,`max` 属性指定了最多可选项数,`data` 属性指定了下拉框的选项数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值