最近在使用英文检索select2(V3.5版本)时发现一个问题:多音字,重庆在有的拼音库里面被翻译成了重(zhong)庆,无奈只有同时支持中文检索,select2如何支持中英文检索呢,下面直接如题,上代码~~~
matcher: function(term, text) {
var reg = new RegExp("[\\u4E00-\\u9FFF]+","g"); //判断搜索框内容是不是中文
if(reg.test(term)){
return text.indexOf(term) != -1;
}else{
//这是我下载的一个拼音库,有需要的可以在文章最后的链接下载
var mod=ZhToPinyin(text);
var tf1=mod.a.toUpperCase().indexOf(term.toUpperCase())==0;
var tf2=mod.b.toUpperCase().indexOf(term.toUpperCase())==0;
return (tf1||tf2);
}
}
重写select2插件的matcher函数即可。