2016-01-22 75 views
0

我试图根据输入的值显示元素,并希望它可以让人们输入多个单词并对元素进行排序,以仅显示适用于他们的搜索。通过HTML元素通过多行文输入排序

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

比如有车的完整列表,并且如果客户类型的“2015年”,仅2015年的车辆将显示。如果客户输入'2015别克',则会循环显示,并且只显示2015年别克,而不显示基于'2015'或'别克'的元素。

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

+0

[jQuery UI的自动完成] toLowerCase()(http://api.jqueryui.com/autocomplete/)? – Draco18s

+0

@ Draco18s如果我的列表中的某个项目长度为3个字,并且某人碰巧跳过了第2个字,例如拥有“年份制作模型”,并且客户只在“年份模型”中键入,则该特定搜索(以及大多数其他功能)找不到任何东西。 – Chris

回答

0

工作修改here

有几个问题:

  • if($('#searchText').val() > 2)引起搜索被解析为一个号码,与2相比,你想要的是$('#searchText').val().length
  • 概念的环是从内到外的:您想要查找每行是否包含所有术语,因此for循环应位于$.each之内。
  • ,除非你需要区分大小写的匹配,调用上的文字和搜索字词