jQuery:在Web页面实现筛选功能功能 您所在的位置:网站首页 表格条件筛选功能怎么做 jQuery:在Web页面实现筛选功能功能

jQuery:在Web页面实现筛选功能功能

2024-07-13 15:11| 来源: 网络整理| 查看: 265

目录 效果完整代码代码详解jQuery on() 方法jQuery 效果 - hide() 方法JavaScript Array filter() 方法jQuery 效果 show() 方法jQuery.contains()方法 另一种写法再一种写法

效果

在这里插入图片描述 在这里插入图片描述

完整代码 Document table { border:0; } p { font:normal 12px/17px Arial; } td { font:normal 12px/17px Arial; padding:2px; width:100px; } th { font:bold 12px/17px Arial; text-align:left; padding:4px; border-bottom:1px solid #333; width:100px; } .even { background:#FFF38F; } /* 偶数行样式*/ .odd { background:#FFFFEE; } /* 奇数行样式*/ .selected { background:#FF6500; color:#fff; } 筛选: 搜索 姓名性别暂住地 SYJ男河北秦皇岛市 李四女北京北京市 王五男河北秦皇岛市 赵六男河北唐山市 张三男内蒙古呼和浩特市 楠楠女内蒙古包头市 贝贝男北京北京市 西西女河北秦皇岛市 冬冬男东北辽宁省 $(function() { $('.search').on('click', function() { // console.log($('#filterName').val()); $('table tbody tr').hide() .filter(":contains('" + ($('#filterName').val()) + "')") .show(); }) }) 代码详解 html搜索框部分 筛选: 搜索 js部分 $(function() { $('.search').on('click', function() { // console.log($('#filterName').val()); $('table tbody tr').hide() .filter(":contains('" + ($('#filterName').val()) + "')") .show(); }) }) jQuery on() 方法 on() 方法在被选元素及子元素上添加一个或多个事件处理程序。 自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。 该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。 注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。 提示:如需移除事件处理程序,请使用 off() 方法。 提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。 语法 $(selector).on(event,childSelector,data,function) 参数 event 必需。规定要从被选元素移除的一个或多个事件或命名空间。 由空格分隔多个事件值,也可以是数组。必须是有效的事件。 childSelector 可选。规定只能添加到指定的子元素上的事件处理程序 (且不是选择器本身,比如已废弃的 delegate() 方法)。 data 可选。规定传递到函数的额外数据。 function 可选。规定当事件发生时运行的函数。 Example: $(document).ready(function(){ $("p").on("click",function(){ alert("段落被点击了。"); }); }); jQuery 效果 - hide() 方法 语法: $(selector).hide(speed,callback) 参数: speed 可选。规定元素从可见到隐藏的速度。默认为 "0"。 可能的值: 毫秒 (比如 1500) "slow" "normal" "fast" 在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。 callback 可选。hide 函数执行完之后,要执行的函数。除非设置了 speed 参数,否则不能设置该参数。 Example: $(".btn1").click(function(){ $("p").hide(); }); JavaScript Array filter() 方法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 注意: filter() 不会对空数组进行检测。 注意: filter() 不会改变原始数组。 语法 array.filter(function(currentValue,index,arr), thisValue) 参数说明 function(currentValue, index,arr) 必须。函数,数组中的每个元素都会执行这个函数 函数参数: currentValue 必须。当前元素的值 index 可选。当前元素的索引值 arr 可选。当前元素属于的数组对象 thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined" Example var ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } function myFunction() { document.getElementById("demo").innerHTML = ages.filter(checkAdult); } jQuery 效果 show() 方法 show() 方法显示隐藏的被选元素。 注意:show() 适用于通过 jQuery 方法和 CSS 中 display:none 隐藏的元素 (不适用于通过 visibility:hidden 隐藏的元素)。 提示:如需隐藏元素,请查看 hide() 方法。 语法 $(selector).show(speed,easing,callback) 参数 speed 可选。规定显示效果的速度。 easing 可选。规定在动画的不同点上元素的速度。默认值为 "swing"。 可能的值: "swing" - 在开头/结尾移动慢,在中间移动快 "linear" - 匀速移动 callback 可选。show() 方法执行完之后,要执行的函数。 jQuery.contains()方法

https://www.runoob.com/jquery/misc-contains.html

$.contains( container, contained ) 参数 container Element类型 指定可能包含其他元素的祖辈容器元素。 contained Element类型 指定可能被其他元素包含的后代元素。 另一种写法 $(function() { $("#Text1").keyup(function() { var filterText = $(this).val(); $("# tr").not(":first") .hide() .filter(":contains('" + filterText + "')") .show();; }).keyup(); })

JQuery的选择器:

1:$("# tr")选择表格的所有行;/如果使用了别的控件产生的TABEL,可以使用$(“tr”)。

2:not(":first"):除去第一行表头行;

3:filter(":contains(’" + filterText + “’)”):从上面所选择的行里面筛选出行文本中包含filterText 的行显示出来;

4:最后加一句keyup()是为了在提交后重新触发keyup事件。

现在项目需求是匹配表格里某一列的内容,并显示此行,不匹配的不予显示。(类似查询功能)

再一种写法 $("tr").not(":first").each(function(){ if($(this).hide().find("td:eq(2)").text()indexOF(filterText)!=-1){ $(this).show(); } else $(this).hide(); });


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有