我正在为波兰的房地产网站工作。
我有一个带自动完成功能的搜索部分,可在用户停止输入时刷新搜索结果。
当我输入一些非重音城市名称时,一切正常,如“华沙”。
问题是,当我输入带有重音的单词时,例如“Kraków”。自动填充会在地图上找到标记,直到我没有输入字母“ó”。当我输入一个没有重音的单词 - “Krakow”时,脚本仍无法在地图上找到标记。
我一直在考虑如何在几个小时内解决这个问题,并且无法使其发挥作用。
我的网站在此处查看:http://ultimate.houser.pl/nieruchomosci/
我的代码是:
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);
};
});
}
});
}
}
答案 0 :(得分:0)
这不是自动填充的问题(它返回结果,否则您不会在下拉列表中看到任何内容)。
问题:当您根据div.where
的值测试标记列表(input#search-where
)时,您会从输入值中删除变音符号
where = removeDiacritics( $("#search-where").val() );
但你不能从div.where
您必须从两侧移除变音符号或保持原样。