任何 jquery 1.3 兼容插件,使用用户文本输入过滤下拉列表,并根据匹配的输入字符串数进行分组
Posted
技术标签:
【中文标题】任何 jquery 1.3 兼容插件,使用用户文本输入过滤下拉列表,并根据匹配的输入字符串数进行分组【英文标题】:Any jquery 1.3 compatible plugin to filter dropdown using user text input plus grouping based on number of input strings matched 【发布时间】:2011-10-14 21:14:57 【问题描述】:只是想知道是否已经有插件,否则我将自己编写代码。以下是我的确切要求。
假设我有一个这样的下拉列表 -
<select id="values" name="country">
<option value="1">Hello world</option>
<option value="2">Hello there</option>
<option value="3">Hello again</option>
<option value="4">Andorra</option>
<option value="5">Argentina</option>
<option value="6">Armenia</option>
<option value="7">Aruba</option>
<option value="8">Australia</option>
<option value="9">Austria</option>
...
</select>
并且有一个输入字段供用户过滤下拉内容。所以一开始是这样的——
用例(要求)
单个词项的明显情况-> 用户输入“你好”
结果应该只有包含“Hello”的选项
<select id="values" name="country">
<option value="1">Hello world</option>
<option value="2">Hello there</option>
<option value="3">Hello again</option>
</select>
当输入多个单词时 -> 例如"Hello again", OR 逻辑应该应用在选项和包含任何单词的选项应该保留。
<select id="values" name="country">
<option value="3">Hello again</option>
<option value="2">Hello there</option>
<option value="1">Hello world</option>
</select>
我正在寻找的进一步增强是根据匹配的单词数对结果进行分组,所有单词匹配在顶部,然后是较小的单词匹配直到最后,像这样 -
我知道这是一个非常具体的要求,但还是试了一下......
我检查了这个问题Jquery: Filter dropdown list as you type 和那里给出的一些插件演示,但没有找到我正在寻找的东西。第一部分JQuery UI MultiSelect 有我正在寻找的 OR 搜索逻辑,但没有分组。但这需要 jquery 1.5 和 the older version 与 jquery 1.3 一起使用没有输入字段。
【问题讨论】:
jQuery 1.3 在一年半前被取代(网络时代相当长的一段时间)。从那时起,很多错误已得到修复,并添加了相当多的新功能。我会花一些时间进行升级,而不是花时间为日益过时的版本寻找插件。 FWIW。显然,如果你现在真的不能升级,你真的不能,但是...... 【参考方案1】:我的诚实意见是,最好的方法是为这个问题编写自己的自定义代码。 jQuery(顺便说一下使用 1.6)非常强大,可以解决您的问题,但不太可能找到完全满足您需求的特定插件。
也许你应该使用一个已经存在的插件,例如:
http://docs.jquery.com/Plugins/autocomplete
然后重新配置它以按照您想要的方式显示结果。然后将您的代码发布回社区并帮助添加到丰富的可用插件集合中。
只是一个想法。
【讨论】:
感谢您的诚实意见。我现在正在尝试编写一个插件。排序逻辑有点卡住了......究竟该怎么做......请检查我的问题***.com/questions/6857969/…以上是关于任何 jquery 1.3 兼容插件,使用用户文本输入过滤下拉列表,并根据匹配的输入字符串数进行分组的主要内容,如果未能解决你的问题,请参考以下文章