layui下拉多选formSelects使用方法和(动态选中下拉框)

在这里插入图片描述
下载formSelects-v4插件(引入formSelects-v4.css和formSelects-v4.js)
下载地址:https://fly.layui.com/extend/formSelects/#download

<link rel="stylesheet" href="style/formSelects-v4.css"> //引入formSelects-v4样式
<div class="layui-form-item">
    <label class="layui-form-label">系统用户</label>
     <div class="layui-input-inline">
         <select id="sysusers" name="systemUserIds" xm-select-height="36px" xm-select="select2">
             <!-- <option value="">请选择</option>
                  <option value="0">北京</option>
                  <option value="1">上海</option>
                  <option value="2">重庆</option> -->
          </select>
      </div>
</div>

//注册插件
layui.config({
        base: './js/' //路径为插件
  }).extend({
        formSelects: 'formSelects-v4'
  });
//使用插件,在layui.use中添加formSelects
layui.use(['element', 'laydate', 'table', 'layer', 'form', 'laypage', 'upload', 'tree', 'formSelects'], function () {
        var element = layui.element
            laydate = layui.laydate,
            table = layui.table,
            layer = layui.layer,
            form = layui.form,
            upload = layui.upload,
            tree = layui.tree,
            laypage = layui.laypage,
            formSelects = layui.formSelects;
        form.render();
        formSelects.btns('select2', []);

    getSysname: function (typeKey) {
                var keys = []
                $.ajax({
                    url: url,
                    type: "post",
                    async: true,
                    data:{typeKey},
                    success: function (data) {
                        //console.log(data, '系统用户');
                        if(data.data){
                            for (var i = 0; i < data.data.length; i++) { //formSelects-v4只支持name和value两个属性,使用时必须为josn格式属性必须为name和value
                                var temp = {
                                    "name": data.data[i].systemUserId,
                                    "value": data.data[i].id  //value为唯一标识,此处为id
                                }
                                keys.push(temp)
                            }
                            console.log(keys)
                            formSelects.data('select2', 'local', { //请求数据后,将数据动态渲染到下拉框中
                                arr: keys
                            });
                            form.render();
                        }
                    },
                });
            },

formSelects.btns('select2', []); //去掉全选等工具条
formSelects.data('select2', 'local', {arr: []}); //清空下拉框数据
formSelects.value('select2',data.data.systemUsers,true); //给下拉框中追加数据,true:如果该值已选中则跳过, 该值未选中则选中;若为false:如果该值没有选中则跳过, 该值被选中则取消选中

二、动态选中下拉框

在这里插入图片描述

var formSelects = layui.formSelects;

//发送文章ID到后台查询文章所绑定的标签id存入到数组中
  var vArray = new Array();
        $.ajax({
            url: "/pgArticles/queryArticleById",
            type: "get",
            async: true,
            data: {
                articleId: $.getUrlParam("articleId")
            },
            success: function (data) {
                if (data.code = 200) {
         //遍历id存入到vArray 数组中
                    for (i = 0; i < data.data.pgArtitleLabelRefList.length; i++) {
                        console.log(data.data.pgArtitleLabelRefList[i].labelId);
                        vArray[i] = data.data.pgArtitleLabelRefList[i].labelId;
                    }
                }
            },
        });


//这个是查询数据添加到下拉多选框的方法  注意:(动态选中下拉框必须等渲染下拉框完成之后再选中)
   var keys = []
        $.ajax({
            url: "/pgArticles/queryLabelsList",
            type: "get",
            async: true,
            /*data:{typeKey},*/
            success: function (data) {
                console.log(data, '标签');
                if (data) {
                    for (var i = 0; i < data.length; i++) { //formSelects-v4只支持name和value两个属性,使用时必须为josn格式属性必须为name和value
                        var temp = {
                            "name": data[i].labelName,
                            "value": data[i].labelId  //value为唯一标识,此处为id
                        }
                        keys.push(temp)
                    }
                    /*console.log(keys)*/
                    formSelects.data('select2', 'local', { //请求数据后,将数据动态渲染到下拉框中
                        arr: keys
                    });
                  // 定义一个定时器0.2秒之后再执行
                    setTimeout(function(){
               //根据vArray 数组里的ID选中下拉多选框
     //formSelects.value('select1', [2, 4]);       // 选中value为2和4的option → 上海,深圳
                        formSelects.value('select2', vArray);
                    },200)
                    console.log(vArray,'数组')
                    formSelects.value('select2', vArray);
                    form.render();
                }
            },
        });
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui框架中,可以使用xmSelect插件来实现下拉多选的功能。首先,在HTML中,你可以使用以下代码添加一个具有相应id和class的div标签作为下拉多选的容器: <div id="demo" class="layui-form-select select-tree"></div> 接下来,你需要在JavaScript中配置layui并引入xmSelect插件。你可以使用以下代码: layui.config({ base: '../../layuiadmin/' //静态资源所在路径 }).extend({ index: 'lib/index', //主入口模块 xmSelect: "xm-select" }).use(['index', 'element','form','xmSelect'], function () { var $ = layui.$ , element = layui.element ,form = layui.form; //渲染数据 var demo1 = xmSelect.render({ el: '#demo1', data: [ {name: '水果', value: 1, selected:false}, {name: '蔬菜', value: 2, selected:false}, {name: '桌子', value: 3, selected:false}, {name: '北京', value: 4, selected:false}, ], }) }) 请注意,上述代码中的'#demo1'是xmSelect的渲染目标,它对应于前面提到的HTML中的div标签的id属性。 关于xmSelect插件的具体用法和更多选项,你可以查看其文档或者参考示例代码。 如果你需要下载xmSelect插件的最新版本,你可以访问以下地址:https://toscode.gitee.com/maplemei/xm-select/tree/master/dist <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [layui 树形下拉框多选)](https://blog.csdn.net/qq_26622469/article/details/107862782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Layuilayui下拉多选框实现](https://blog.csdn.net/david_520042/article/details/124907224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值