大佬教程收集整理的这篇文章主要介绍了jquery – 通过表行进行实时搜索,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的HTML:
<table> <tr><th>Unique ID</th><th>Random ID</th></tr> <tr><td>214215</td><td>442</td></tr> <tr><td>1252512</td><td>556</td></tr> <tr><td>2114</td><td>4666</td></tr> <tr><td>3245466</td><td>334</td></tr> <tr><td>24111</td><td>54364</td></tr> </table>
如果我会fe按唯一ID搜索,它应该显示唯一的行从唯一ID的特定数字开始。铁。如果我在搜索输入框中输入’2’,则应该保留以下行,因为它们以2:
<table> <tr><th>Unique ID</th><th>Random ID</th></tr> <tr><td>214215</td><td>442</td></tr> <tr><td>2114</td><td>4666</td></tr> <tr><td>24111</td><td>54364</td></tr> </table>
如果我输入24,那么应该只有一行可见,从24开始:
<table> <tr><th>Unique ID</th><th>Random ID</th></tr> <tr><td>24111</td><td>54364</td></tr> </table>
如果你们可以给我一些关于如何做这样的事情的技巧,我将非常感激。
谢谢。
$("#search").on("keyup",function() { var value = $(this).val(); $("table tr").each(function(indeX) { if (index != 0) { $row = $(this); var id = $row.find("td:first").text(); if (id.indexOf(value) != 0) { $(this).hide(); } else { $(this).show(); } } }); });
我添加了一些简单的突出显示逻辑,您或将来的用户可能会找到方便。
添加一些基本突出显示的方法之一是在匹配的文本周围包装em标签,并使用CSS将黄色背景应用于匹配的文本,即:(em {BACkground-color:yellow}),类似于:
// removes highlighTing by replacing each em tag within the specified elements with it's content function removeHighlighTing(highlightedElements){ highlightedElements.each(function(){ var element = $(this); element.replaceWith(element.html()); }) } // add highlighTing by wrapping the matched text into an em tag,replacing the current elements,html value with it function addHighlighTing(element,textToHighlight){ var text = element.text(); var highlightedText = '<em>' + textToHighlight + '</em>'; var newText = text.replace(textToHighlight,highlightedText); element.html(newText); } $("#search").on("keyup",function() { var value = $(this).val(); // remove all highlighted text passing all em tags removeHighlighTing($("table tr em")); $("table tr").each(function(indeX) { if (index !== 0) { $row = $(this); var $tdElement = $row.find("td:first"); var id = $tdElement.text(); var matchedIndex = id.indexOf(value); if (matchedIndex != 0) { $row.hide(); } else { //highlight matching text,passing element and matched text addHighlighTing($tdElement,value); $row.show(); } } }); });
Demo – 应用一些简单的亮点
以上是大佬教程为你收集整理的jquery – 通过表行进行实时搜索全部内容,希望文章能够帮你解决jquery – 通过表行进行实时搜索所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。