Javascript 自动完成中的变音符号
我正在为波兰的房地产网站工作 我有一个带有自动完成功能的搜索部分,当用户停止键入时刷新搜索结果 当我输入一些不带口音的城市名称时,一切正常,比如“Warszawa” 问题是,当我输入带有重音的单词时,比如“Kraków”。自动完成在地图上找到标记,直到我不键入字母“ó”。当我键入一个没有重音的单词时,比如“克拉科夫”,脚本仍然无法在地图上找到标记 我一直在思考如何解决这两个小时,但无法让它工作 我的网站可在此查看: 我的代码是:Javascript 自动完成中的变音符号,javascript,jquery,google-maps,autocomplete,Javascript,Jquery,Google Maps,Autocomplete,我正在为波兰的房地产网站工作 我有一个带有自动完成功能的搜索部分,当用户停止键入时刷新搜索结果 当我输入一些不带口音的城市名称时,一切正常,比如“Warszawa” 问题是,当我输入带有重音的单词时,比如“Kraków”。自动完成在地图上找到标记,直到我不键入字母“ó”。当我键入一个没有重音的单词时,比如“克拉科夫”,脚本仍然无法在地图上找到标记 我一直在思考如何解决这两个小时,但无法让它工作 我的网站可在此查看: 我的代码是: function getPredictions(request,
function getPredictions(request, response){
tmpList = [];
if (typeof $.goMap.map === 'object') {
$.goMap.predictions.getQueryPredictions({ input: 'Polska, ' + request.term }, function(predictions, status){
for ( i = 0; i < predictions.length; i++) {
place_req = {
placeId: predictions[i].place_id
};
$.goMap.places.getDetails( place_req, function(place, status){
miasto='', woj='', ulica='';
for ( i = 0; i < place.address_components.length; i++) {
addressType = place.address_components[i].types[0];
if (addressType == 'administrative_area_level_1') {
woj = ', ' + place.address_components[i].long_name;
};
if (addressType == 'locality') {
miasto = '' + place.address_components[i].long_name;
};
if (addressType == 'route') {
ulica = ', ' + place.address_components[i].long_name;
};
}
// val = miasto + woj + ulica;
if (woj != '') {
val = miasto + woj;
};
if ( tmpList.indexOf(val) < 0 && val.length > 0) {
val = val.replace(/województwo/i,'').trim();
// val.replace(',','');
tmpList.push(val);
response(tmpList);
};
});
}
});
}
}
函数getPredictions(请求、响应){
tmpList=[];
if(typeof$.goMap.map=='object'){
$.goMap.predictions.getQueryPredictions({input:'Polska',+request.term},函数(预测,状态){
对于(i=0;i<0.length;i++){
地点要求={
placeId:predictions[i]。place\u id
};
$.goMap.places.getDetails(位置请求,函数(位置,状态){
miasto='',woj='',ulica='';
对于(i=0;i这不是自动完成的问题(它返回结果,否则在下拉列表中看不到任何内容) 问题是:当您根据
input>的值测试标记列表(div.where
)时#搜索where
会从输入值中删除变音符号
第227行
where = removeDiacritics( $("#search-where").val() );
但是您不会从div.where的innerHtml中删除变音符号
你必须去掉两边的变音符号,或者保持原样 这不是自动完成的问题(它返回结果,否则在下拉列表中看不到任何内容)
问题是:当您根据input>的值测试标记列表(div.where
)时#搜索where
会从输入值中删除变音符号
第227行
where = removeDiacritics( $("#search-where").val() );
但是您不会从div.where的innerHtml中删除变音符号
你必须去掉两边的变音符号,或者保持原样 您是否尝试对查询进行URL编码?不过,我不确定这是否有效。当我尝试输入Krakow和Krakow时,官方文档中的字符似乎与特殊字符一起工作。我认为您可以查看这些字符,并检查您是否遗漏了任何内容。您是否尝试对查询进行URL编码?不过,我不确定这是否有效。当我试图输入克拉科夫和克拉科夫时,官方文件中的数字似乎与特殊字符有关。我想你可以查看一下这些数字,看看是否遗漏了什么