js原生的html表格的搜索,排序,分页

制作一个html表格。需要做成响应式。
表头为 序号,姓名,年龄。每一列需要 “排序和搜索” 两个功能
填写搜索后文字后只显示当前列的所有包含关键字的记录。搜索字段清空后显示所有记录。
当第一个搜索填写后再填写其他字段的搜索关键字时,第一个搜索自动清空。
不同字段的排序功能是,互相不做影响,即第一个字段排序后,第二个字段再排序时,将重置第一个字段的排序为默认升序,搜索功能也是这样。
不同字段的排序和搜索功能可以叠加,即在搜索出一些记录后,再点排序,需要在当前搜索记录内进行排序。
考点:
js table综合应用。
删除线格式

JS搜索筛选table列:
				function onSearch(obj,cols) { //js函数开始
					setTimeout(function() { //因为是即时查询,需要用setTimeout进行延迟,让值写入到input内,再读取
						var storeId = document.getElementById('store'); //获取table的id标识
						var rowsLength = storeId.rows.length; //表格总共有多少行
						var key = obj.value; //获取输入框的值
						var searchCol = cols; //要搜索的哪一列,这里是第一列,从0开始数起
						for(var i = 1; i < rowsLength-2; i++) { //按表的行数进行循环,本例第一行是标题,所以i=1,从第二行开始筛选(从0数起)
							var searchText = storeId.rows[i].cells[searchCol].innerHTML; //取得table行,列的值
							if(searchText.match(key)) { //用match函数进行筛选,如果input的值,即变量 key的值为空,返回的是ture,
								storeId.rows[i].style.display = ''; //显示行操作,
							} else {
								storeId.rows[i].style.display = 'none'; //隐藏行操作
							}
						}
					}, 200); //200为延时时间
				}
查询模块的结构:
			
				
				
				
			

有关排序(中文):


分页功能没有实现。原因:开始写排序的时候没有考虑到分页之后DOM节点的隐藏,而且排序后是重新插入到的文档流之中影响性能。望经验者指导!

你可能感兴趣的:(js知识)