我指的是小提琴:http://fiddle.jshell.net/dryydaxq/1/
如果在文本框中键入Eng,则在“自动完成”列表中按以下顺序显示列表。
1) 英语英语
2) Guzheng
3)化学工程工程
( 4)机械工程工程
我如何使上面的列表按顺序排列,以‘英语’开头的短语显示在其他词组之上?和下面一样,英语首先以英语开头,然后化学和机械工程在中间显示为‘英语’,而古筝是最后一个。
1) 英语英语
2)化学工程工程
( 3)机械工程工程
4) Guzheng
发布于 2015-07-30 11:26:55
您可以在.sort()中向JavaScript提供一个比较函数。
我已经编辑了您的小提琴,现在它正确地对下拉列表进行排序。
我补充说:
$('#search').on('keydown', function() {
colors = colors.sort(function(a,b) {
return a[1].indexOf($('#search').val()) > b[1].indexOf($('#search').val());
})
});尽管请注意,这是在整个短语中“eng”的位置上排序,而不是单个单词。如果您需要对单词进行排序,那么您可以对空格字符上的sort函数中的字符串进行标记,然后从那里计算您的值。
https://stackoverflow.com/questions/31722134
复制相似问题