jquery自动完成按小写搜索

我想用小写的jquery自动完成插件。 该数组包括大写,小写字。 当我在文本框中写文本时,jquery应该将该文本转换为小写并将数组单词转换为小写然后匹配单词。

var names = [{ value: "1", label: "Jon Kerer"}, { value: "2", label: "Scott MART"}, { value: "3", label: "Sel HURGE"} ];​ $("#myInput").autocomplete({ focus: ..... ? select : .... ? source : ... ? });​ 

您需要创建一个字符映射并对名称进行一些解析。 这只是一些角色的入门名单。 您可以尝试使用某些全球化库来查找完整的集合

演示: http : //jsfiddle.net/uQK5s/

 var accentMap = { "á": "a", "ö": "o", "Ş": "S", "á": "a" }; var normalize = function(term) { var ret = ""; for (var i = 0; i < term.length; i++) { ret += accentMap[term.charAt(i)] || term.charAt(i); } return ret; }; $("#test").autocomplete({ source: function(request, response) { var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); response($.grep(names, function(value) { value = value.label || value.value || value; return matcher.test(value) || matcher.test(normalize(value)); })); } }); 

使用toLowerCase()将字符串转换为小写:

 var string = 'Test String'; string = string.toLowerCase(); //string is now 'test string' 

我不确定你是如何“匹配”单词但你应该能够对数组中的值使用相同的函数,然后根据需要进行比较/匹配。