我正在尝试使用jquery-autocomplete
我的母语(越南语FWIW)中的音调标记。它对于一个单词的精确匹配很有意思。但是,我希望搜索功能忽略音调标记,即“Lâm”和“Lam”的搜索默认匹配“Lâm”。
谢谢。
答案 0 :(得分:3)
我假设您在客户端数据上使用自动完成功能。
source
option。以下是一个概述(未经测试),让您了解如何使用source
函数:
// use the 'removeDiacritics' function from the quoted answer above
function removeDiacritics(str) {
...
}
var myData = ['aäa', 'bbb'];
$('input#autocomplete').autocomplete({
source: function(request, responseCallback){
// 'request' holds the value typed in the input,
// remove diacritics from this value, and build a regexp :
var reSearch = new RegExp( removeDiacritics(request) );
// build an array of matched values :
var result = [];
for (var i=0; i<myData.length; i++){
// for each search candidate, run it through removeDiacritics,
// and see if result macthes the (diacritics free) regexp :
if ( reSearch.match( removeDiacritics(myData[i]) ) ){
result.push(myData[i]);
}
}
// call the callback with this array :
responseCallback(result);
}
});