项目中页面很多下拉框,都是调用数据字典表数据,例如性别:男,女,;删除状态:已删除,正常。

如果每个地方都用ajax调用,过于麻烦,代码越多,维护工作就越麻烦。故使用layui自定义模块实现统一操作。

先看下效果:

项目情况

因为我项目使用的springboot+tymeleaf+layui,layui扩展用了layuimini.

直接上代码

项目结构如下:

1.新建dict.js

/*** 扩展layui组件*/layui.define(["element","jquery"], function(exports){var element = layui.element,$ = layui.$;FsForm = function () {}FsForm.prototype.renderDictAll = function (formId, b) {var element = layui.element,$ = layui.$;$.ajaxSettings.async = false; //设置为同步,否则layui会先渲染表格,导致数据显示不出来//此处拿到的dict即字典code,可以通过此字典code去数据库或者redis中查询相应的字典数据并加载到select中的option中。$('.selDict').each(function(){var _this = $(this);var dict = _this.attr("dict");console.log(dict)$.get("/sys/dict/getDictItems/"+dict, function(data){//后台获取数据,这里需要根据返回数据,自己调整。我这里返回数据见下面代码console.log(data);if(data.result!=null){$.each(data.result,function(index,m){_this.append("<option value='"+m.value+"'>"+m.title+"</option>");});}});//模拟假数据// _this.append("<option value='1>111</option>");// _this.append("<option value='2>222</option>");})$.ajaxSettings.async = true; //ajax恢复为异步}var fsForm = new FsForm();exports("dict", fsForm);})

数据字典接口返回数据

{"success": true,"message": "操作成功!","code": 0,"result": [{"value": "1","text": "男","title": "男"},{"value": "2","text": "女","title": "女"},{"value": "3","text": "未知","title": "未知"}],"timestamp": 1588152327329
}

2.配置lay-config.js,添加数据字典扩展模块

添加dict:'dict'新增加模块

/*** date:2019/08/16* author:Mr.Chung* description:此处放layui自定义扩展* version:2.0.4*/window.rootPath = (function (src) {src = document.scripts[document.scripts.length - 1].src;return src.substring(0, src.lastIndexOf("/") + 1);
})();layui.config({base: rootPath + "lay-module/",version: true
}).extend({miniAdmin: "layuimini/miniAdmin", // layuimini后台扩展miniMenu: "layuimini/miniMenu", // layuimini菜单扩展miniTab: "layuimini/miniTab", // layuimini tab扩展miniTheme: "layuimini/miniTheme", // layuimini 主题扩展miniTongji: "layuimini/miniTongji", // layuimini 统计扩展step: 'step-lay/step', // 分步表单扩展treetable: 'treetable-lay/treetable', //table树形扩展tableSelect: 'tableSelect/tableSelect', // table选择扩展iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展echarts: 'echarts/echarts', // echarts图表扩展echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展layarea: 'layarea/layarea', //  省市县区三级联动下拉选择器dict: 'dict', //  layui数据字典模块扩展
});

3在页面中test.html添加下拉框

            性别:<select class="selDict" dict="sex"></select><br/>删除状态:<select class="selDict" dict="del_flag"></select>

4.页面加载时,渲染数据字典test.html

<script th:src="@{/layuimini/lib/layui-v2.5.5/layui.js}" charset="utf-8"></script>
<script th:src="@{/layuimini/js/lay-config.js?v=2.0.0}" charset="utf-8"></script>
<script src="/js/core.util.js"></script>
<script th:inline="none">layui.use(['table','laypage', 'layer','laydate','tree','transfer','dict'], function () {var form = layui.form;   var $ = jQuery = layui.jquery;var dict=layui.dict; //获取自定义模块dict.renderDictAll(); //渲染//重新渲染select数据form.render('select');})

layui自定义模块实现下拉框,读取数据字典数据相关推荐

  1. java下拉框读取数据库数据_在一个jsp页面实现二级下拉框联动,实时读取数据库数据...

    在一个jsp(SUN企业级应用的首选)页面实现二级下拉框联动,实时读取数据库数据,这个方法非常使用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp(SUN企业级应用的首选),main. ...

  2. java下拉框读取数据库数据_下拉框读取数据库数据库

    一起谈.NET技术,Visual Studio 2008单元测试_数据库测试 我们开发一个系统必须与数据库打交道,需要写N个SQL.存储过程.自定义函数.视图等,那么能否使用Visual Studio ...

  3. laravel5.4 关于select下拉框读取数据库数据案例

    首先需要做一个select下来框 <select name="cate_pid"><option value="0">==顶级分类==& ...

  4. layui 使用xm-select实现下拉框多选

    记录:layui 使用xm-select实现下拉框多选 使用示例: <script src="__STATIC__/plugs/layui-v2.5.6/ext/xm-select.j ...

  5. jQuery自定义漂亮的下拉框插件8种效果演示

    原始的下拉框不好看这里推荐一个jQuery自定义漂亮的下拉框插件8种效果演示  在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="en& ...

  6. layui 如何取得select下拉框选中的值

    var addressid = $('#addressid[name=addressid]').val() form.on('select(filter)', function(data){conso ...

  7. html6+树状下拉列表,layui+ztree 树状下拉框

    一.效果图 [关闭] [展开] 二.代码 [HTML]注:布局一定要用DIV不是select否则效果···· 部门 @* *@ [js] ① 以下为固定方法 function initSelectTr ...

  8. Easyexcel生成excel并通过自定义注解实现下拉框以及动态下拉框(将数据库中的数据显示在excel下拉框中)

    首先需要定义excel实体类 @Data @ColumnWidth(22) @HeadRowHeight(30) public class ExcelProductDTO {//动态下拉框,可以查询数 ...

  9. 可自定义的vue下拉框组件

    创建Select.vue组件 //创建Select.vue组件<template><div class="selects"><!-- 选择框 --&g ...

最新文章

  1. OCS 2007 聊天记录查看工具 OCSMessage
  2. python最基本的规则是什么_2015/8/26 Python基础(1):基本规则及赋值
  3. python基础系列:类
  4. php跳转隐藏url参数,.htaccess从URL中删除index.php并隐藏参数键
  5. python一些常用方法_python常用的一些技巧
  6. android 无线视频,Android系统无线视频流媒体的接收、解码与播放
  7. Pytest装饰器@pytest.mark.parametrize一键生成接口正交试验用例
  8. TensorFlow会话的配置项
  9. 【Python】极简单的方式序列化sqlalchemy结果集为JSON
  10. 3D数学之矩阵的各种求逆
  11. 2017-10-湖南套题1
  12. 使用Windbg分析蓝屏原因
  13. 深析在线教育下半场机遇逻辑 掌门教育论道蓝鲸教育大会
  14. java交通灯英文文献,194关于单片机智能交通灯控制系统设计有关的外文文献翻译成品:基于单片机的智能交通控制系统(中英文双语对照)7...
  15. word的图片和自选图形组合问题
  16. sdn主要包含哪些接口_SDN个人理解
  17. draft伦理——第七章
  18. 量化投资中的特征工程
  19. 谷歌浏览器chrome官方下载网址
  20. tomcat 运行提示The background cache eviction process was unable to free

热门文章

  1. 3.SVN服务器与客户端基本使用
  2. 常用linux指令集
  3. 计算机右键管理无法访问指定设备,一直出现这个“Windows无法访问指定设备”怎么办?...
  4. 【最新】Xcode 8 打包教程
  5. python处理文档对象【三方库—lxml】
  6. 2023最新姆町个人自动发卡系统源码+全开源的/功能丰富UI美观
  7. Vue详解及综合案例
  8. c语言输出名人名言大全,编程语言之父6大经典名言,C语言之父这一段代码你见过吗?...
  9. ArcMap中饼图显示数值的方法
  10. 参考 | 给C盘 “搬家“