原生js搜索查询JSON文件中的数据并高亮突出显示

所属分类: 网页特效-搜索&查询    2023-12-01 05:58:42

原生js搜索查询JSON文件中的数据并高亮突出显示 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

原生js搜索查询JSON文件中的数据并高亮突出显示(共4个文件)

    • cities.json
    • index.html

使用方法

const endpoint = '../cities.json'; //Array of objects
const cities = [];
fetch(endpoint) //zaciagamy dane z linka
    .then(blob => blob.json()) //mówimy, że jest to plik json
    .then(data => cities.push(...data)) //wpychamy do tablicy cities jako osobne elementy dlatego są ...
    .then(all => displayMatches());
function findMatches(input) {
    return cities.filter(place => {
        const regex = new RegExp(input, 'gi') //tworzymy wyrażenie regularne którym jest nasz input, czyli to co wpisze szukający  drugi to:  g - global czyli globalny, i - insensitive (czyli nie zwraca uwagi na wielkość liter)
        return place.city.match(regex) || place.state.match(regex); //zwracamy tablicę pasująych do naszego wyrażenia miast lub stanów
    });
}
function numberWithCommas(a) {
    return a.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');
  }
function displayMatches() {
    const input = searchInput.value;
    const matchArray = findMatches(input);
    const htmlMatchArray = matchArray.map(place => {
        const regex = new RegExp(input, 'gi');
        const cityName = place.city.replace(regex, `<span class="highlight">${input}</span>`);
        const stateName = place.state.replace(regex, `<span class="highlight">${input}</span>`);
        return `<li>
                    <p class="city-state"><span class="city">${cityName},</span> ${stateName} <span class="population">population: ${numberWithCommas(place.population)} </span> </p>
                </li>`;
    }).join('');
    const headerText = input ? `${matchArray.length} matches for <span class="input">${input}<span>` : `List of 1000 cities in the USA`;
    searchResults.innerHTML = htmlMatchArray;
    header.innerHTML = headerText;
}

const searchInput = document.querySelector('#search');
const searchResults = document.querySelector('#search-results');
const header = document.querySelector('h6');

searchInput.addEventListener('change', displayMatches);
searchInput.addEventListener('keyup', displayMatches);

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 搜索&查询

jquery响应式多字段数据模糊查询搜索插件

table表格数据多条件联合查询特效,支持模糊快速搜索功能,非常实用。
  搜索&查询
 7313  0

jquery带模糊查询功能的下拉框多选特效代码

一款支持多选的select下拉菜单,下拉菜单数据带模糊查询功能,非常实用。
  搜索&查询
 3356  0

原生js带筛选菜单的模糊搜索查询特效代码

一款手机端搜索查询页面,支持ajax关键词模糊查询内容列表代码,通过ajax可获取相应数据,输入关键词搜索查找对应的内容,还有全部、男生、女生分类菜单筛选。
  搜索&查询
 1372  0

jquery搜索查询输入关键词下拉菜单自动提示插件

一款input文本框自动提示插件,输入关键字可自动返回符合条件的结果到下拉列表。
  搜索&查询
 6381  0

评论数(1) 回复有机会获得K币 用户协议

    NoMeaning0
    2023-12-06 16:51:41
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论