阿尔戈利亚如何从自动完成建议中删除"administrative"市/区



我正在整合Algolia自动完成,不喜欢自动完成建议的外观。具体来说,我不希望行政市政当局和地区出现在建议中,仅在地址,城市,国家。我如何省略管理查询?

例如,如果我输入" sarajevo",建议将以"萨拉热窝,萨拉热窝,波斯尼亚和黑塞哥维那的坎顿"的形式出现,我希望它看起来很简单地显示为"萨拉热窝,波斯尼亚和黑塞哥维那"。Div>

您应该使用位置构造函数的templates选项。

这是一个简单的示例:

const placesInstance = places({
    ...
    templates: {
        suggestion: function(s) {
            return [s.highlight.name, s.highlight.city, s.highlight.country].join(', ');
        }
    }
});

可以查看默认情况下用于更精细的样本的功能:https://github.com/algolia/places/blob/master/src/formatdropdownvalue.js

解决的问题后,一旦选择了一个'位置',管理级别就会显示在搜索栏中。,您可以利用jQuery的focusOut事件。

示例

    var cityCountry  ,searchInput;
    searchInput = $('#search-input'); //our search field
    //Initialize
    var placesAutocomplete = places({
        // appId: 'YOUR_PLACES_APP_ID',
        // apiKey: 'YOUR_PLACES_API_KEY',
        container: document.querySelector('#search-input'),
    });
    //Attach required data to cityCountry  
    placesAutocomplete.on('change', function(e){
        let suggestion,city,country;
        suggestion = e.suggestion;
        city = suggestion.name;
        country= suggestion.country;
        cityCountry  = city+', '+country;
    });
    //Manipulate the search field on focusout
    searchInput.on('focusout', function(){
        setTimeout(function () {
            searchInput.val(cityCountry);
        },1)
    });

注意,没有setTimeout()

它将无法使用

最新更新