JavaScript实现的搜索及高亮显示功能示例
这篇文章主要介绍了JavaScript实现的搜索及高亮显示功能,涉及javascript字符遍历与页面元素属性相关操作技巧,对JavaScript感兴趣的朋友可以参考下本篇文章
情景: 用来筛选列表中的数据, 由于单条数据很简短, 没有用php+mysql去实现筛选功能, 只用javascript进行筛选, 匹配的高亮, 或者将不匹配的隐藏掉
效果图:
html:
<p class="contracts-header">名称: <input type="text" value="" id="search_contract_name"></p> <p class="contracts-header">代码: <input type="text" value="" id="search_contract_code" placeholder="不区分大小写"></p> <p class="contracts-header"><button onclick="search()">查找</button></p> <p id="contracts-list"> <ul> <li><input type="checkbox" name="contract[]" value="code|name" /><span>name(code)</span></li> <li><input type="checkbox" name="contract[]" value="code|name" /><span>name(code)</span></li> </ul> </p>
javascript:
function search() { var search_contract_name = $("#search_contract_name").val(); var search_contract_code = $("#search_contract_code").val(); if (search_contract_name && search_contract_code) { //两个输入框都有值 search_contract_code = search_contract_code.toLowerCase(); //不区分大小写, 全部转换为小写, 下同 $("input[name='contract[]']").each( function () { var code_name = this.value; var search_code = code_name.toLowerCase().indexOf(search_contract_code); var search_name = code_name.toLowerCase().indexOf(search_contract_name); if (search_code >=0 && search_name >=0 ) { // this.nextSibling.style.backgroundColor = "#FFDEAD"; //高亮匹配到的 this.parentNode.style.display = 'block'; } else { // this.nextSibling.style.backgroundColor = ""; this.parentNode.style.display = 'none'; //隐藏不匹配的 } } ); } else if(search_contract_name || search_contract_code) { //只有一个输入框有值 search_contract_name = search_contract_name.length ? search_contract_name : 'xxx'; //默认为xxx是因为不可能存在xxx search_contract_code = search_contract_code.length ? search_contract_code.toLowerCase() : 'xxx'; $("input[name='contract[]']").each( function () { var code_name = this.value; var search_code = code_name.toLowerCase().indexOf(search_contract_code); var search_name = code_name.toLowerCase().indexOf(search_contract_name); if (search_code >=0 || search_name >=0 ) { // this.nextSibling.style.backgroundColor = "#FFDEAD"; this.parentNode.style.display = 'block'; } else { // this.nextSibling.style.backgroundColor = ""; this.parentNode.style.display = 'none'; } } ); } }
以上就是本篇文章的所有内容,希望对大家学习JavaScript提供到一定的帮助!!
相关推荐:
以上是JavaScript实现的搜索及高亮显示功能示例的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

人脸检测识别技术已经是一个比较成熟且应用广泛的技术。而目前最为广泛的互联网应用语言非JS莫属,在Web前端实现人脸检测识别相比后端的人脸识别有优势也有弱势。优势包括减少网络交互、实时识别,大大缩短了用户等待时间,提高了用户体验;弱势是:受到模型大小限制,其中准确率也有限。如何在web端使用js实现人脸检测呢?为了实现Web端人脸识别,需要熟悉相关的编程语言和技术,如JavaScript、HTML、CSS、WebRTC等。同时还需要掌握相关的计算机视觉和人工智能技术。值得注意的是,由于Web端的计

显示桌面布局已锁定是怎么回事在使用计算机的过程中,有时我们可能会遇到显示桌面布局已锁定的情况。这个问题意味着我们无法自由地调整桌面图标的位置或改变桌面背景等操作。那么,显示桌面布局已锁定到底是怎么回事呢?一、理解桌面布局和锁定功能首先,我们需要了解桌面布局和桌面锁定这两个概念。桌面布局是指桌面上各个元素的排列方式,包括快捷方式、文件夹和小部件等。我们可以自由

远程桌面连接使用的用户非常多,很多用户在使用的时候都会遇到些小问题,比如没有显示对方的任务栏,其实很可能是对方的设置问题,下面就来看看解决方法吧。远程桌面连接怎么显示对方的任务栏:1、首先点击“设置”。2、然后再打开“个性化”。3、随后选择左侧的“任务栏”4、将图中隐藏任务栏选项关闭即可。

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

WIFI密码不用经常输入,所以忘记了也很正常,今天我教大家一个最简单的方法来查到自己家WIFI的密码,3秒搞定。WIFI密码那就是用微信的扫一扫来查看,本方法的前提是:要有一台手机能连上过WIFI。好了,下面开始操作教程:步骤1、我们进入手机,从手机顶部下拉,调出状态栏,WIFI图标步骤2、长按WIFI图标,进入WLAN设置;长按WIFI图标步骤3、点击已经连接上的自己家的WIFI名称,点击分享密码,它会弹出来二维码;分享WIFI密码步骤4、我们截图保存此二维码;步骤5、桌面长按微信图标,点击扫

js和vue的关系:1、JS作为Web开发基石;2、Vue.js作为前端框架的崛起;3、JS与Vue的互补关系;4、JS与Vue的实践应用。

在Linux系统中,要显示当前路径可以使用pwd命令。pwd命令是PrintWorkingDirectory的缩写,用于显示当前工作目录的路径。在终端中输入以下命令即可显示当前路径:pwd执行该命令后,终端会显示当前工作目录的完整路径,如:/home/user/Documents。另外,还可以使用一些其他选项来增强pwd命令的功能,例如-P选项可以显示出

近日,三星显示(SamsungDisplay)与微软公司签署了一项重要合作协议。根据协议,三星显示将为微软开发和供应数十万台适用于混合现实(MR)头显设备的OLEDoS面板,而微软正开发一款面向游戏和电影等多媒体内容的MR设备,这款设备预计将在OLEDoS规格确定后推出,主要服务于商用领域,预计最早于2026年交付。OLEDoS(OLEDonSilicon)技术OLEDoS是一种新型显示屏技术,将OLED沉积在硅基板上,相较于传统的玻璃基板,具有更薄、像素更高的特点。OLEDoS显示屏与普通显示
