2016-01-22 107 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之內。
  • ,除非你需要區分大小寫的匹配,調用上的文字和搜索字詞