要求
a.点击表头弹出列表
b.点击筛选内容进行数据筛选
c.允许多条件
d.当点击筛选选项列表之外的区域时,列表收起
e.筛选选项列表宽度与列宽度保持一致
f.筛选选项列表需要有横向滚动条
实现
a.点击表头弹出列表
思路:
1.监听表头的点击动作
2.在表头中通过append的方式将筛选选项列表异步加入表头代码中
3.将选项列表改为绝对定位,使得选项列表成为一个独立窗口
4.通过post获取选项数据,拼接option,数据为该列不重复数据
5.当一个列表弹出时,其他筛选列表全部隐藏
6.当列表代码已经拼接时,不在重复append
代码:
$("#list").on("click","th",function (e) {
var length= $(e.target).find("select").length;
$('select').css("display","none");//当当前筛选列表弹出时,隐藏其他所有列表
if(length<1){
var html ="<select style='background:#fdfdfd;position:absolute;display:block;"
"' multiple='multiple'"
+" onchange='selectOnClick(this)'><option value='&