前言
本篇仅对三级联动和实时搜索的核心给出说明,对于页面设计、整个工程结构等不做说明。
三级联动
根据交互操作异步触发获取第一列数据
1 | //异步请求第一列数据-可选指标名称 |
点击第一列数据异步获取第二列数据
1 | //绑定第一维度的li点击事件 |
点击第二列数据异步获取第三列数据
道理同上,不再重复。
实时搜索
实时搜索是一个和三级联动结合在一起的功能(当然也可以分开使用)。当每一列的数据选项有很多时,就可以提供一个搜索框,根据用户输入进行实时筛选(这个过程中是没有查询请求的,所有数据已经取回,渲染在列表中,只要监听相应事件进行筛选即可)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17//可选指标搜索
$("#time_trend_chiose_con_search_indexname_input").on("input", function (event) {
//获取当前搜索框内容
var searchVal = $("#time_trend_chiose_con_search_indexname_input").val().toLowerCase();
//每次查询都先将所有子标签显示,在此基础上筛选
$("#time_trend_level1 li").each(function () {
$(this).removeClass("hide");
});
//如果子标签li中没有搜索字符串,则隐藏
$("#time_trend_level1 li").each(function () {
if($(this).html().toString().toLowerCase().indexOf(searchVal) == -1){
$(this).addClass("hide");
}
})
});