从下拉列表中按字母顺序选择“最近”选项

时间:2012-05-14 15:33:56

标签: php javascript html

我在下拉列表中有一个单词列表,我只有一个单词正在寻找合适的合作伙伴(用户正在选择它) 为了让用户更容易(因为列表可能很长而且访问速度很快)我想给出一个可能的选项。

我已经看过我如何更改所选单词。

我想找到按字母顺序排列的“最近”选项,但我没有想法,我怎么能找出哪个字是最近的neigbore ....

我已经用我能想到的所有单词用Google搜索来获得解决方案,但我找不到任何东西。

有人有一个想法,我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

levenshtein function将计算2个字符串的“接近度”。您可以对相对于用户字符串的单词进行排名,并返回具有最低值的字符串。

答案 1 :(得分:1)

查看这个库,它包含javascript的模糊字符串匹配函数,包括词干,lehvenstein距离和metaphone:http://code.google.com/p/yeti-witch/

答案 2 :(得分:0)

如果按字母顺序表示匹配从左侧读取的字母,答案很简单。只需浏览单词的每个字母,并将其与选择下拉菜单中的字母进行比较。共享最长起始子串的单词是“最近的”。

答案 3 :(得分:0)

javascript中最简单(也可能是最快)的事情是找到(通过二进制搜索)使用<>字符串运算符将单词放在选项单词的排序数组中的位置。

要获得更高级和更精确的结果,请使用Levenshtein distance