diff --git a/web/js/layfilter.js b/web/js/layfilter.js new file mode 100644 index 0000000..e109d5c --- /dev/null +++ b/web/js/layfilter.js @@ -0,0 +1,147 @@ +layui.define(['jquery', 'layer'], function (exports){ + var $ = layui.jquery; + var chekedArr = {}; + var layfilter = { + render:function(options){ + var url = options.url; + var flag = true; + //传入了地址,则直接将此地址覆盖 + if(url){ + $.getJSON(url,options.where,function(res){ + if(res.code == 0){ + var data = res.data; + flase = true; + layfilter.init(options,data); + }else{ + layer.msg(res.msg||'查询过滤组件数据异常',{icon:2}); + flag = false + } + }) + } + if(!flag){ + return; + } + }, + init:function(options,dataSource){ + var elem = options.elem; + var $dom = $(elem); + var itemWidth = options.itemWidth + var arr = {}; + var $table = $('
'); + for(var i=0;i'); + var $td1 = $(''+dataSource[i].title+':'); + var $td2 = $(''); + var type = dataSource[i].type; + if(!type){ + console.warn('第'+(i+1)+'个元素的类型[type]为空设为默认值[radio]'); + type = 'radio'; + } + var $ul = $(''); + var width = itemWidth && itemWidth.length>0 ? (itemWidth.length>i ? itemWidth[i]:itemWidth[itemWidth.length-1]):80; + arr[dataSource[i].name]=[]; + for(var j=0;j'+item[j].name+''); + }else{ + $ul.append('
  • '+item[j].name+'
  • '); + } + + } + $td2.append($ul); + $tr.append($td1).append($td2); + $table.append($tr); + } + $dom.append($table); + chekedArr=arr; + //注册点击事件 + $('.filterTable tr td li a').bind('click',function(){ + if($(this).attr('disabled')){ + return; + } + var itemType = $(this).parent().parent().attr('type'); + var name = $(this).parent().parent().attr('name'); + //取消选择 + if($(this).parent().hasClass('layfilter-item-checked')){ + $(this).parent().removeClass('layfilter-item-checked'); + var obj = chekedArr[name]||[]; + for(var i=0;i