如何使自动完成功能按特定顺序显示结果?

时间:2015-07-30 11:07:29

标签: jquery

我指的是这个小提琴:http://fiddle.jshell.net/dryydaxq/1/

如果我在texbox中输入Eng,我会在自动完成列表中按以下顺序查看列表。

1) Eng lish
2)Guzh eng
3)化学 Eng ineering
4)#mechanical eng ineering

如何按顺序排列上面的列表,其中以'eng'开头的那些短语显示在其余部分之上?如下所示,英语首先显示为eng,然后是化学和机械工程,中间是“eng”,而古筝最后。

1) Eng lish
2)化学 Eng ineering
3)#mechanical eng ineering
4)Guzh eng

1 个答案:

答案 0 :(得分:0)

您可以在JavaScript中为<FIXML v="4.4" xmlns="http://www.fixprotocol.org/FIXML-4-4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Main attr1="19000" attr2="10"> <Hdr hattr1="ABC" hattr2="DEF"/> <Insert1/> <Insert2> <sub/> </Insert2> <Insert2> <sub/> </Insert2> </Main> </FIXML> 提供比较功能。

我已编辑了您的fiddle,现在可以正确排序下拉列表。

我补充说:

.sort()

虽然请注意,这对“&#39; eng”的位置有所排序。在整个短语中,而不是单个词。如果你需要对单词进行排序,那么你可以对空格字符的$('#search').on('keydown', function() { colors = colors.sort(function(a,b) { return a[1].indexOf($('#search').val()) > b[1].indexOf($('#search').val()); }) }); 函数中的字符串进行标记,然后从那里计算你的值。