首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用`keyup`从已经显示在我的html上的‘`.json’文件中进行过滤/搜索

答案:

keyup是一个JavaScript事件,它在释放键盘上的键时触发。通过使用keyup事件,可以实现从已经显示在HTML页面上的.json文件中进行过滤或搜索的功能。

首先,我们需要通过JavaScript代码来获取.json文件的内容。可以使用XMLHttpRequest对象或fetch API来进行异步请求并获取数据。

接下来,可以使用keyup事件来监听用户在搜索框中输入的关键字。每次触发keyup事件时,都会执行一个函数,该函数将获取用户输入的关键字,并将其与.json文件中的数据进行比较。

以下是一个示例代码,展示了如何使用keyup事件来进行过滤或搜索操作:

代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
    <title>Filter/Search JSON Data</title>
</head>
<body>
    <input type="text" id="searchInput" placeholder="Search...">
    <ul id="resultList"></ul>

    <script>
        // 获取.json文件内容并进行过滤/搜索
        function filterJSONData() {
            var searchInput = document.getElementById('searchInput');
            var resultList = document.getElementById('resultList');
            var keyword = searchInput.value.toLowerCase(); // 将输入的关键字转为小写,以便不区分大小写进行搜索

            // 使用fetch API获取.json文件内容
            fetch('data.json')
                .then(response => response.json())
                .then(data => {
                    resultList.innerHTML = ''; // 清空搜索结果

                    // 遍历.json文件中的数据
                    data.forEach(item => {
                        // 如果数据中包含关键字,则将其添加到搜索结果中
                        if (item.title.toLowerCase().indexOf(keyword) !== -1) {
                            var li = document.createElement('li');
                            li.textContent = item.title;
                            resultList.appendChild(li);
                        }
                    });
                });
        }

        // 监听keyup事件
        var searchInput = document.getElementById('searchInput');
        searchInput.addEventListener('keyup', filterJSONData);
    </script>
</body>
</html>

上述示例代码中,我们假设存在一个名为data.json.json文件,其中包含一些数据,每个数据项都有一个title属性,用于表示项目的标题。

用户可以在搜索框中输入关键字,并且在每次释放键盘上的键时,都会触发filterJSONData函数。该函数会获取用户输入的关键字,并遍历.json文件中的数据,找到包含关键字的数据项,并将它们添加到一个列表中显示出来。

请注意,以上示例中的代码仅为演示目的,实际使用中可能需要根据具体情况进行修改和调整。

此外,腾讯云也提供了一些相关产品,例如:

  • 腾讯云对象存储(COS):用于存储和管理大规模数据的分布式存储服务,可以将.json文件上传至对象存储中进行管理。了解更多信息,请访问腾讯云对象存储(COS)
  • 腾讯云云服务器(CVM):提供虚拟的云服务器,可满足各种计算需求,包括处理和存储.json文件。了解更多信息,请访问腾讯云云服务器(CVM)

请注意,以上提到的腾讯云产品仅为示例,实际使用时应根据具体需求选择适当的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

改造 Combo Select支持服务器端模糊搜索

我们采用的是ajax读取所有的option json,并由js在浏览器中遍历并最终生成完整的html。...2.1 修改数据结构 目前的同级数据有2000多条,数据从逻辑上可以拆分为两级结构。这样,将数据拆分为两级结构后,使用两个联动Select,能大大减少每个select加载的option数量。...2.3 修改combo select插件 从前端入手,select只显示少量数据,当用户输入关键字进行搜索时,实时从服务器加载。这种方式增加了调用次数,但可以大大降低数据量,缩短页面加载的耗时。...3.5 模糊查询的逻辑 当用户在input中输入文字的时候,会触发 keydown和keyup事件,在keyup事件中,对 $items中的数据依次进行匹配,设置 visible属性,实现部分数据的展示...如果是在浏览器内部进行数据过滤,问题还不明显。但每次模糊查询都通过服务器查询,就会带来大量的api访问。

1.7K30

todomvc项目_reactive vue

所有实现代码在文章结尾处 分析整个实现过程的步骤: 1.显示大标题“todoMVC” 在h1中引入{ {msg}},在js文件中将msg赋值,从而在html中显示大标签的内容 2.当没有数据时,两块模板需要隐藏...将两个模板放在一个template标签中,当items.length=0时,则v-if=false,进而两块模板隐藏。 3.引入数据。将JS中写好的默认数据引入在html的每一个li标签中。...在点击与失去上加上一个事件。先进行判空,在保存,再把编辑页面去掉。这样就实现了一整个编辑的大动作。 12.全局获取焦点设置当进入到这个页面后自动获取输入框的焦点,无需手动点击后获取焦点。...如果这个值是空,则显示所有项目,如果是active则显示未完成项目,如果为completed则显示已完成项目。此处再次用到filter过滤的方法。...样式和bootstrap样式或者空模板想自己从0做这个项目的话可以私聊我哈,我有压缩包。

1.1K00
  • vue 实时查询

    答案是:有的;(不了解模糊查询功能的同学可以出门右转去百度首页试一下搜索,给你5分钟,我等你回来) html视图层代码              进行判断当前json里面是否有输入框中输入的数组,indexOf是javascript提供的操作字符串方法,调用方式:string.indexOf("要查询的值"),如果str中没有要查询的值会返回我们...-1,如果有会直接返回给我们查询数据的当前下标;所以我们可以借助indexOf是否等于-1来进行判断当前json中是否有我们要查询的字符串;如果有的话,我们只需要把当前json添加到空数组list中即可...到这里我们就可以看到我们要的模糊查询功能已经实现了,但是我们上面讲到模糊查询会影响浏览器的性能,从控制台输入的变量i的值可以看到我们的search方法已经被调用了8次,我们输入的字符越长被调用的次数越多...我们可以从控制台很清晰的看到当我们使用节流函数的时候,当我们输入了8个字符我们的方法只执行了两次,并且执行时间是每隔一秒执行一次,一个方法执行2次肯定会比执行8次不管是在效率还是在性能方面都会是比较大的提升

    1.2K42

    vuejs深入浅出—基础篇

    一、从HelloWorld说起 任何语言的都是从Hello World开始的,VueJs也不例外,直接上代码: <script src="https://unpkg.com/vue/dist/vue.js...}); 二、常用指令 v-x的使用 1.v-if/v-else 移除或插入DOM; 2.v-show 显示或隐藏DOM(相当与设置display:none;); 3.v-model...yes’:’no’}} 四、计算属性 & Methods 在模板中绑定表达式是非常便利的,但在模板中放入太多的逻辑会让模板过重且难以维护。...过滤器本质上就是一个函数,作用就是用户输入数据之后,进行除了返回结果。...,比如监听用户输入值300毫秒之后在ajax请求,防止方法频繁被掉用,还是比较实用的,keyup=”onKeyup | debounce 300”>. 6.自定义过滤器,创建全局过滤器,

    1.6K60

    web学习笔记13-移动端搜索框提示功能

    最近项目一直在迭代更新,没有什么新的东西做,所以拿出来一个搜索的小模块分享下,功能就是输入关键字能出来相关字的联想吧,删除一些字的时候顺带可以保存上一段的联想,从外观上来看,效果还罢了,这里分享给大家...第三步:编写js逻辑 一般情况下,我们在进入搜索页面的时候,大多数会出现历史搜索,也就是搜索记录,我们首先需要的就是进行历史搜索的渲染,我这里历史搜索都是用localStorage进行存储,大家根据需要可以进行对应的存储或者获取...,一般的历史记录不会是太多的,一般会显示前十条最近搜索的,我这边在渲染的时候做了截取,其实在存的时候就应该去做判断,在超出10条或者规定条数的时候我们只保存十条或者规定条数,然后在渲染的时候就不需要再去截取了...var ajaxCache = {};//定义缓存对象(保存请求出来的数据) 这里我先把另外两个方法先提出来先写了,一个是渲染页面的方法,一个是判断字符串是否为空的方法,这两个方法在接下来的逻辑中需要调用...13) { localStorage.setItem('search_keyName',keyName); var count = 0; //判断历史搜索中是否已经存在当前搜索的关键字

    55720

    节流函数的应用场景

    答案是:有的;(不了解模糊查询功能的同学可以出门右转去百度首页试一下搜索,给你5分钟,我等你回来) HTML视图层代码:         //输入框,绑定输入框的值是变量...-1来进行判断当前json里面是否有输入框中输入的数组,indexOf是javascript提供的操作字符串方法,调用方式:string.indexOf("要查询的值"),如果str中没有要查询的值会返回我们...-1,如果有会直接返回给我们查询数据的当前下标;所以我们可以借助indexOf是否等于-1来进行判断当前json中是否有我们要查询的字符串;如果有的话,我们只需要把当前json添加到空数组list中即可...到这里我们就可以看到我们要的模糊查询功能已经实现了,但是我们上面讲到模糊查询会影响浏览器的性能,从控制台输入的变量i的值可以看到我们的search方法已经被调用了8次,我们输入的字符越长被调用的次数越多...我们可以从控制台很清晰的看到当我们使用节流函数的时候,当我们输入了8个字符我们的方法只执行了两次,并且执行时间是每隔一秒执行一次,一个方法执行2次肯定会比执行8次不管是在效率还是在性能方面都会是比较大的提升

    83840

    vue todolist案例_nodejs mvc

    大家好,又见面了,我是你们的朋友全栈君。...1.应用模板下载: TodoMVC 案例官网:http://todomvc.com 如图下载模板: 2. npm安装依赖 通过 nmp 安装相关依赖,进入vs code ,找到文件,右键点击在集成终端中打开...按Enter键添加任务列表中,并清空文本框。 当加载页面后文本框自动获得焦点,在 input 上使用 autofocus 属性可获得。 4.3 左下角要显示未完成的任务数量。...4.6 双击(某个任务项)进入编辑状态(在上通过.editing进行切换状态)。 进入编辑状态后输入框显示原内容,并获取编辑焦点。...按Enter键 或 失去焦点时 保存改变数据,移除editing 样式; 4.7 根据点击的不同状态( All / Active / Completed ),进行过滤出对应的任务,并进行样式的切换

    1.3K10

    AngularDart4.0 指南- 用户输入 顶

    \$EVENT Dart文件中的非原始字符串需要$前面的\。 如果模板位于HTML文件中,请使用$ event而不是\ $event。...以下示例使用模板引用变量在简单模板中实现按键回送。...代码使用box变量来获取输入元素的值,并在标签之间进行插值显示。 模板是完全独立的。 它不绑定到组件,组件什么也不做。 在输入框中输入内容,然后观看每个按键显示更新。 ?...它不再需要了解$event及其结构的知识。 key事件过滤(使用key.enter) (keyup)事件处理程序听到每个击键。 有时只有Enter键很重要,因为它表示用户已经完成打字。...) class KeyUp4Component { String values = ''; } 把它放在一起 上一页显示了如何显示数据。

    3.5K00

    在input中回车后页面提交导致出现HTTP 错误 405.0 - Method Not Allowed

    前些时间在做一个搜索功能时发现一个比较有意思的现象,场景是这样的:在一个模态窗口中是一个订单列表,页面的顶部有若干个状态筛选框和一个搜索关键字输入框,当焦点在关键字输入框时按回车,本来是对input的keyup...事件做了监听,当发现是按了回车键时便自动提交搜索请求的,但输入关键字后按回车时页面竟然跳转了,并且出现“HTTP 错误 405.0 - Method Not Allowed无法显示您正在查找的页面,因为使用了无效方法...按照错误信息及现象(页面跳转了)来看,应该是因为触发了页面提交了,但事实上,当在keyup事件里面alert时,根本还没有执行到keyup事件里面去就已经跳转了。...自动提交的动作本身浏览器在默认事件中绑定的,按键盘的操作就是keyup和keydown,我原本的按键监听是在keyup事件里写的,所以把keydown事件重写,然后终止默认事件执行就OK了。...我的代码如下,供遇到同样问题的朋友参考: /** * 关键词输入框回车事件触发搜索 */ win.find('input[name="keyword"]').bind('keyup', function

    1.9K10

    Part 2!蓝队Shodan - 工具篇

    请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。 基于我之前的博客文章,我在其中解释了如何利用 Shodan 搜索过滤器进行简单的 Shodan 搜索。...事实证明,这些搜索对于蓝队识别可能构成安全风险的异常互联网暴露实例而言是有利的。 在本博客中,我将展示使用 CLI 的 Shodan 搜索,可以系统地遵循该搜索来简化基于 Shodan 的监控。...:21 --limit 5 > list.txt 要查看结果,请使用命令cat 文件名> 搜索5:将搜索运算符与分隔符结合起来 在此搜索中,标题是在端口 9000上运行的“Citrix Gateway...搜索13:解析结果并保存在本地文件中 使用parse来分析使用download命令生成的文件。它可以让您过滤出您感兴趣的字段,将 JSON 转换为 CSV,并且还可以通过管道传输到其他脚本。...) xlsx对应于输出格式(想要将结果转换为的所需输出格式,例如 CSV、JSON、HTML) .xlsx 文件的内容如下所示: 这就是所有的好东西,现在让我们得出结论。

    46410

    分享几个实用的HEXO博客功能插件

    Markdown 中自定义 CSS 样式 有时候写文章需要一些特殊的字体或者颜色表现样式,这其实很简单,不需要任何插件,直接在 md 文章文件中使用 HTML 加 CSS 样式就可以了,就像这样: <p...install hexo-filter-github-emojis --save 安装后在根目录下的配置文件 _config.yml 中进行具体配置,还可以添加自定义的表情符(我已经把网站上的部分表情符下载到本地改成自定义表情符了...也比较简单吧,确实折腾了我很久,需要的就 Add 上吧! 5. 强大的静态搜索功能插件 现在哪个页面没有搜索功能?内容为王的前提下,搜索功能显得尤为重要!...,我是在 md 文章的开头 Front-matter 中添加了一个 addSearch 的变量,值为 true 表示生成的这个页面是带搜索功能的页面,值没有或者为 false 表示这个页面不会添加搜索引擎和显示搜索结果...(也包括资源的引用,你可以看到我的代码中不少包含了 config.root ),我设置了根目录,所以直接使用 Tipue 搜索引擎的时候搜索出来的文章显示的链接少了 /blog ,那样都是错误的地址,这时候就要手动更改一下

    4.9K10

    【Vue.js——关键字搜索】绝美宋词(蓝桥杯真题-2327)【合集】

    宋词可谓是古代文学桂冠上一颗璀璨的明珠,本题将实现一个在搜索框中输入关键字,实时显示符合条件的完整宋词的功能。...接着,打开环境右侧的【Web 服务】,就可以在浏览器中看到如下效果: 目标效果 请使用 Vue ,完成 index.html 文件中的 TODO 部分。 1. 完成数据请求(数据来源 ....:分别显示词句和词牌名 - 词人信息,使用 v-html 指令插入经过高亮处理的 HTML 内容。 部分: 创建 Vue 实例,挂载到 #app 元素上。...fetchPoetryData 方法使用 Axios 发送 GET 请求,从 data.json 文件中获取宋词数据,并将数据存储在 poetryList 中。...结果渲染: 使用 v-for 指令循环渲染 filteredPoetry 数组中的元素,将每一首符合条件的宋词显示在 元素中。

    4200
    领券