只是想知道是否已经有插件,否则我将自己编写代码。以下是我的确切要求。
假设我有一个这样的下拉列表 -
<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 and some plugin demos given there,但没有找到我正在寻找的东西。第一部分JQuery UI MultiSelect具有我正在寻找的 OR 搜索逻辑,但没有分组。但这需要 jquery 1.5 并且与 jquery 1.3 一起使用的旧版本没有输入字段。