对具有多词输入的 HTML 元素进行排序

Sorting Through HTML Elements with multi worded input

本文关键字:元素 HTML 排序 输入      更新时间:2023-09-26

我正在尝试根据输入的值显示元素,并希望它使人们可以输入多个单词,并对元素进行排序以仅显示适用于其搜索的元素。

JS斌,非常基本的例子:https://jsbin.com/zabikejuxa/edit?html,js,output

例如,拥有完整的车辆列表,如果客户输入"2015",则仅显示 2015 年的车辆。如果客户输入"2015 别克",它将循环浏览,并且仅显示 2015 别克,而不显示基于"2015"或"别克"的元素。

查询的第一个单词工作正常,当值大于 2 个单词时,一切都变得复杂。

在这里工作修改

有几个问题:

  • if($('#searchText').val() > 2)导致搜索被解析为数字,并与 2 进行比较,您想要的是$('#searchText').val().length
  • 循环在概念上是内向外的:您希望查找每行是否包含所有项,因此for循环应位于$.each内。
  • 除非需要区分大小写的匹配,否则请对文本和搜索词调用toLowerCase()