多个输入框联合搜索

如果你有多个输入框,并希望进行联合精准搜索,可以通过组合多个输入框的值来过滤数据。在JavaScript中,常见的做法是先收集每个输入框的值,然后使用这些值过滤数据。

示例:多个输入框联合精准搜索

假设有多个输入框用于过滤不同的属性(例如姓名、年龄和城市),你可以使用下面的代码来实现联合精准搜索:

html 复制代码
<input type="text" id="nameSearch" placeholder="Search by name">
<input type="number" id="ageSearch" placeholder="Search by age">
<input type="text" id="citySearch" placeholder="Search by city">

<button onclick="searchData()">Search</button>

<ul id="results"></ul>

<script>
const data = [
    { id: 1, name: 'John', age: 30, city: 'New York' },
    { id: 2, name: 'Jane', age: 25, city: 'Los Angeles' },
    { id: 3, name: 'Mike', age: 35, city: 'Chicago' },
    { id: 4, name: 'Sara', age: 28, city: 'San Francisco' },
];

function searchData() {
    const nameTerm = document.getElementById('nameSearch').value.toLowerCase();
    const ageTerm = document.getElementById('ageSearch').value;
    const cityTerm = document.getElementById('citySearch').value.toLowerCase();

    // 联合过滤
    const filteredData = data.filter(item => {
        return (!nameTerm || item.name.toLowerCase().includes(nameTerm)) &&
               (!ageTerm || item.age == ageTerm) &&
               (!cityTerm || item.city.toLowerCase().includes(cityTerm));
    });

    displayResults(filteredData);
}

function displayResults(results) {
    const resultsContainer = document.getElementById('results');
    resultsContainer.innerHTML = '';

    results.forEach(item => {
        const li = document.createElement('li');
        li.textContent = `${item.name}, ${item.age}, ${item.city}`;
        resultsContainer.appendChild(li);
    });
}
</script>
相关推荐
代码搬运媛7 小时前
Jest 测试框架详解与实现指南
前端
counterxing8 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
之歆9 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜9 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108089 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong9 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
kyriewen11 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm11 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy12 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程