Build a Searchbar Using JavaScript in Five Steps
JavaScript 五个步骤制作搜寻功能
前言
解题
第一步:制作界面
先定义一个 <div>
,并且在里面放置一个标题、一个搜索表单、一个用来放置搜索结果的列表。
第二步:定义数据
先定义好一组数据,这里定义一个数组,里面包含许多书籍相关的对象。数据结构可以自行定义,无论是自己定义还是从第三方获取数据都可以。
第三步:渲染数据到界面
有了数据后,可以专注于如何将现有数据展示到界面上。这里拆分为两个函数,一个用于「生成数据对应的 HTML」,另一个用于「将生成的 HTML 渲染到界面」。这样拆分能让代码更易于阅读、维护和测试。完成后界面上应该就可以看到前面定义的数据了!
第四步:监听表单
前面定义了 data-bookfinder-form
这个属性,这里可以使用 querySelector
选择该元素,并监听其 submit
事件。当用户点击提交按钮时,就可以获取用户输入的值(e.target.search.value
)。
第五步:过滤函数
重点在于前面的 booksFilter 函数如何过滤数据。实际上很简单,只需要将表单提交的值与每条现有数据进行对比,如果匹配则返回该条数据,代码如下:
结语
从这个简单的练习中,用 JavaScript 提供的现有方法达成一件常见的功能。以下是完整的程式码,可以在 CodePen 上面试试看:
See the Pen Book-Finder by Riceball (
@riecball) on CodePen.