xm-select介绍

始于Layui, 下拉选择框的多选解决方案

git地址:https://gitee.com/maplemei/xm-select

文档说明:https://codecp.tech/static/xm-select/#/component/options

什么情况下使用

  • 下拉框的数据量比较大
  • 需要支持下拉框的搜索

如何使用自定义搜索

  • 引用xm-select,使用最新版本,老版本update方法无法使用

    <script type="text/javascript" th:src="@{/res/js/xm-select-1.2.2.js}"></script>
  • 定义下拉框的位置

    <div id="demo1"></div>
  • 调用reader进行渲染
let list = [];
let pageSize = 10;
if(demoSelect == null){
orgNameSelect = xmSelect.render({
el: '#demoSelect',
data: [], // 数据
paging: true, // 是否分页
pageSize: pageSize, // 每页数量
max:10, // 最多可以选的个数
// 触发监听
on: function(data){
// 监听到的数据类型包含 name,value
let arr = data.arr;
let checkIdArr = [];
let checkNameArr = [];
if(arr.length > 0){
arr.forEach((item) => {
checkIdArr.push(item.value);
checkNameArr.push(item.name);
});
$("#id").val(checkIdArr.join(","));
$("#name").val(checkNameArr.join(","));
}else{
$("#id").val("");
$("#name").val("");
}
},
// 样式
theme: {
color: '#4991E1',
},
// radio: true,// 单选
// clickClose: true,// 选中后关闭
pageRemote: true,// 是否开启远程分页
pageEmptyShow: false,// 显示空页
remoteSearch: true,// 远程搜索
// 远程搜索方法
// val: 当前搜索值, cb(arr, totalPage): 回调函数, 需要回调一个数组, 结构同data, 远程分页需要第二个参数: 总页码
// show: 下拉框显示状态, pageIndex: 分页下当前页码
remoteMethod: function(val, cb, show, pageIndex){
// 调用后台接口
$.ajax({
url: "/getList?param=111,
type: "GET",
dataType: "JSON",
success: function(resp) {
if (resp.code === SUCCESS_CODE) {
if(resp.data.total > 0){
let data = resp.data.list;
list = [];
for(let i=0; i<data.length; i++){
list.push({"name":data[i].orgName,"value":data[i].orgId});
}
// 页码
let pages = Math.ceil(resp.data.total / pageSize);
cb(list,pages);
}else{
// 初始化为空
cb([],0);
}
}
}
});
},
// 开启搜索
filterable: true,
});
}else{
console.log("更新");
// reset 会把已选中的数据清除 update方法只是更新,他们都可以重新触发一次remoteMethod
orgNameSelect.reset();
}

显示效果

layui下拉框xm-select自定义搜索使用方法的更多相关文章

  1. layui下拉框数据过万渲染渲染问题解决方案

    方案一:layui下拉框分页插件 https://fly.layui.com/jie/29002/ 此插件我用了下浏览器缓存有问题,而且当下拉框数据量过万后,会一直渲染不出来,期待后期作者优化 如图下 ...

  2. Asp.net绑定带层次下拉框(select控件)

    1.效果图 2.数据库中表数据结构 3.前台页面 <select id="pid" runat="server" style="width:16 ...

  3. 下拉框click事件与搜索框blur事件的爱恨纠葛

    还原车祸现场 功能类似于百度搜索,搜索框输入内容,下拉框显示候选项,点击候选项就选择候选项,然后下拉框隐藏,点击外面就直接隐藏下拉框,于是我写了以下代码 //参会单位联想 $('input[name= ...

  4. pentaho cde 自定义复选下拉框 checkbox select

    pentaho  自带的component 虽多,但是当用户需要在一个表格中查看多个组别的数据时,pentaho自带的单选框就不能实现了,所以复选下拉框势在必行,实现效果如下: 实现原理是借用了jqu ...

  5. 多选下拉框(select 下拉多选)

    方法一:使用multiple-select.js和multiple-select .css实现 HTML代码: <select id='checkedLevel' style="wid ...

  6. layui下拉框后台动态赋值

    前台页面: <select name="xm" id="xm" lay-verify="required" lay-filter=&q ...

  7. Layui下拉框改变时触发事件

    layui.use(['form', 'layer'], function () { var form = layui.form(); var layer = layui.layer; form.on ...

  8. layui下拉框不显示的问题

    1.先检查有没有引入layui.js 2.然后看有没有被<form class="layui-form"></form>包住, 3.查看是否有以下代码 &l ...

  9. 【Layui】当Layui数据表格和Layui下拉框组合时发生的问题

    关于Layui数据表格用下拉框显示问题 如图所示 可以看见当点击下拉框时下拉选项被下拉框覆盖 此时你需要在数据表格渲染完成时的回调内添加如下代码即可 $(".sel_scrq"). ...

  10. layui下拉框实现级联

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <link href ...

随机推荐

  1. ArgoWorkflow 教程(一)--DevOps 另一选择?云原生 CICD 初体验

    本文主要记录了如何使用 ArgoWorkflow 构建流水线,以及 ArgoWorkflow 中 的 Workflow.Template 等概念模型. 本文主要分析以下问题: 1)如何创建流水线 2) ...

  2. [SHOI2009] 会场预约 题解

    LG2161 显然: 任意时刻每个点最多被一条线段覆盖 暴力删每条线段的复杂度是对的 插入 \([l,r]\) 时需要删除的线段要么被 \([l,r]\) 包含,要么覆盖 \(l\) 或 \(r\) ...

  3. Typora中的markdown语法的学习

    markdown语法学习 二级标题 三级标题 四级标题 字体 hello world hello world hello world hello world 引用 我是最nb的 分割线 图片 ctrl ...

  4. Linux CentOS 7 安装 Kafka 2.8.2 - 单机版 & JDK 11 & 切换 JDK版本

    目录 安装 JDK 11 安装 Kafka 下载 Kafka 2.8.2 防火墙 修改配置 运行测试 自启动 验证端口 Kafka 从 2.6.0 开始,默认使用 Java 11 , 3.0.0 开始 ...

  5. 使用 python flask 框架实现一个简单的抽奖系统

    Flask 实现一个简易的抽奖系统 项目前置知识 目前 python主流的框架: Django .flask .Tornado 简介: 1.框架 框架? 为什莫使用框架? (前置知识讲解比较冗杂,望谅 ...

  6. kubeadm升级k8s之1.23.17->1.24.17

    查看当前版本 [root@k8s-master31 ~]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EX ...

  7. 阿里云CTF and 其他

    RE复现 login_system 这个函数就是判断username,点进去发现是线性方程,用z3解 from z3 import * s=Solver() a=[0]*16 for i in ran ...

  8. 【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0报错分析

    问题现象 问题单:YAS-00103 no free block in sql main pool part 0,YAS-00105 out of memory to allocate hash ta ...

  9. Argo CD初体验

    什么是 Argo CD? Argo CD 是一个声明式的 GitOps 持续交付工具,用于 Kubernetes 集群.它通过持续监控 Git 仓库中的 Kubernetes 资源配置文件,将这些配置 ...

  10. RxJS 系列 – 大杂烩

    前言 RxJS 有太多方法了, 想看完整的可以去看 REFERENCE – API List, 这篇介绍一些非 operator 的常用方法. NEVER NEVER.subscribe({ comp ...