我正在尝试使用jquery-autocomplete
我的母语(越南语 FWIW)中的音调标记。它对单词的精确匹配很有效。但是,我希望搜索功能忽略音调标记,即默认情况下搜索“Lâm”和“Lam”将匹配“Lâm”。
谢谢你。
我正在尝试使用jquery-autocomplete
我的母语(越南语 FWIW)中的音调标记。它对单词的精确匹配很有效。但是,我希望搜索功能忽略音调标记,即默认情况下搜索“Lâm”和“Lam”将匹配“Lâm”。
谢谢你。
我假设您对客户端数据使用自动完成功能。
这是一个大纲(未经测试),可让您了解如何使用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);
}
});