使用数据字典layui搜索框三联动

摘要:
=""){$.next().find.val;}});}*/}$;前端页面区域:直接引入js即可,加入相应需要的自定义属性写的不是很好,较为繁琐,有时间再去修改
/**
 * 自定义的搜索初始化插件
 * 说明:
 * 给需要异步加载数据字典的加上自定义属性jq-search="qu"
 * qu为数据字典对应的key
 * 如果需要级联查询的则加上自定义属性lay-filter,
 * 如果没有下一级或者子集则不需要加
 * 三联动第一个lay-filter设成1,第三个设成3,代码中有判定
 * echo用于放入回显的key
 */
 var Dictionary ={
    init : function() {//入口
        this.initData();
    },
    initData : function(){//初始化数据
        $(".layui-form select[jq-search]").each(function(){
            //同步加载
            $.ajaxSettings.async = false;
            param ={};
            param.key = $(this).attr("jq-search");
            Dictionary.ajaxDic(param,$(this));
        });
    },
    bindEvent : function(value,id){//绑定数据
        param ={};
        param.key =value;
        Dictionary.ajaxDic(param,$("#"+id+""));
    },
    ajaxDic : function(param,$this){
        //$.ajaxSettings.async = false;
        $.post(path+"/manage/dictionary/search",param,function(data){
            $this.empty();
            $this.append("<option value=''>请输入或选择</option>");
            for(var i=0;i < data.length;i++){
                if($this.attr("echo")==data[i].key){
                    $this.append("<option value='"+data[i].key+"' selected>"+data[i].value+"</option>");
                }else{
                    $this.append("<option value='"+data[i].key+"'>"+data[i].value+"</option>");
                }
            }
        });
        if(typeof($this.attr("lay-filter"))!="undefined"){
            Dictionary.bindLayui($this.attr("lay-filter"),$this.parent().next().children("select").attr("id"));
        }
    },
    bindLayui:function(region,id){
        layui.use(['form'],function(){
            layui.form.on("select("+region+")", function(data){
                if(data.value!=""){
                    if(region == '1'){
                        $("select[lay-filter=3]").empty();
                    }
                    if(region != '3'){
                        Dictionary.bindEvent(data.value,id);
                        layui.form.render('select');
                        $("#"+id+"").next().find('dd.layui-this').trigger('click');
                    }
                }
            })
            /*if($("#"+region+"").val()!=""){
                $("#"+region+"").next().find('dd.layui-this').trigger('click');
            }else{
                $("#"+id+"").val("")
            }*/})
    }
    /*modifyEcho:function(){
        $(".layui-form select[echo]").each(function(){
            if($(this).attr("echo")!=""){
                $(this).next().find("input").val($(this).attr("echo"));
            }
        });
    }*/}

$(function() {
    Dictionary.init();
});

前端页面

<div class='fl mr20'>区域:<div class="layui-inline">
                       <select name="category"id="parentArea"class="layui-input"lay-search jq-search="qu"lay-filter="1">
                    </select>
                  </div>
               <div class="layui-inline">
                   <select name="type"class="layui-input"id="area"lay-search jq-cascade lay-filter="2">
                </select>
            </div>
               <div class="layui-inline">
                  <select name="type"class="layui-input"id="committee"lay-search lay-filter="3">
                </select>
            </div>
        </div>

直接引入js即可,加入相应需要的自定义属性

写的不是很好,较为繁琐,有时间再去修改

免责声明:文章转载自《使用数据字典layui搜索框三联动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Apache shiro如何实现一个账户同一时刻只有一个人登录D触发器的使用小结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MYSQL的常用命令和增删改查语句和数据类型

连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码]   创建数据库:create database [库名]   显示所有数据库: show databases;   打开数据库:use [库名]   当前选择的库状态:SELECT DATABASE();   创建数据表:CREATE TABLE [表名]([字段名] [字段类型]...

解决SharePoint2010中Excel刷新出错的问题

报歉手头上没有中文版的Office和SharePoint,不过看截图是可以对应过来的。 Excel中有一个很强大的功能是PivotTable,用它可以分析数据并展示在工作薄中。创建一个PivotTable的方法很简单,创建一个连接,指到相应的数据库就可以了。 当PivotTable创建完成后,在Excel点击Data下面的Refresh All,就可以刷新...

数据库三级考试的随笔3.0

1 select name,grade,评价= 2 case 3 when grade >90 then '优秀' 4 when grade between 80 and 90 then '中等' 5 when grade <80 then '垃圾' 6 end 7 from student 这个就是运行结果 1 select...

批处理实现自动删除过期文件的定期操作

执行后会在相同目录下生成日志文件:DelExpiredLog.log现实执行的起始时间点。@echo off rem write to log set filename=DelExpiredLog.log echo -------------------Delete Expired Log Files------------------------- &g...

Golang ECHO中间件【10】

在echo框架中中间件(Middleware)指的是可以拦截http请求-响应生命周期的特殊函数,在请求-响应生命周期中可以注册多个中间件,每个中间件执行不同的功能,一个中间执行完再轮到下一个中间件执行。 中间件是一个函数,嵌入在HTTP 的请求和响应之间。它可以获得 Echo#Context 对象用来进行一些特殊的操作, 比如记录每个请求或者统计请求数。...

oracle Database Link

1 Database Link 的创建: 有两个数据库服务器A/B, 其中A的IP地址为172.20.36.245, 服务器B为本机。服务器B上的数据库实例名为ORCL,在本机上的服务监听配置上有服务器A上实例配置: BIWG_TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20...