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