2015-05-14 53 views
0

你好我正在使用Jquery自动完成的项目,但我有一个特殊的问题与我的语言。在阿尔巴尼亚,我们的字母包括ë和ç等字符,但有些人不知道键盘组合产生这个字符,我试图用'e'和'c'来返回这些字。例如,当人们搜索'Dhermi'时,我想将'Dhërmi'这个词作为一个建议。对于我想显示“çanta”的单词“canta”也是如此。这里有很多这样的词,所以我想要一个函数以这种方式返回数据。Jquery自动完成自定义返回数据

下面是我的功能

$("#search").autocomplete({ 
    minLength:0, 
    delay:10, 
    appendTo: ".search", 
    source:function(request, response) { 

// 
     var matchernormal = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 

     matcher = $.grep(tagsarr, function(item){return matchernormal.test(item);}) 

     console.log(matcher) 

     // Limit Results 
     var results = $.ui.autocomplete.filter(matcher, request.term); 

     response(results.slice(0, 10)); 

    } 
}); 

,我会很感激,如果有人可以帮我解决这个问题,我已经遇到过。

+0

请参阅http://stackoverflow.com/q/25352099/ – guest271314

回答

0

你所寻找的是口音折叠: https://jqueryui.com/autocomplete/#folding

你可以有地图的重音字符去归字符

var accentMap = { 
    "á": "a", 
    "ö": "o" 
}; 

和转换一个从其他的功能(见示例链接)

var normalize = function(term) {....} 

并与字符串的归一化值以及原始值进行比较:

return matcher.test(value) || matcher.test(normalize(value));