2016-05-09 2 views
0

Я использую этот API:API Google Адреса для яваскрипта автозаполнения ограничения на предложения

google.maps.places.Autocomplete

мне нужно, чтобы быть в состоянии ограничить мое текстовое поле, чтобы только результаты по АНИ, и не позволяют свободный текст выбор.

Вот мой код:

var ac = new google.maps.places.Autocomplete($('#txt').get(0)); 
ac.place_changed = function() { 
    // TODO: add code to verify address if required 
} 

Есть некоторые настройки в автозаполнения, чтобы сделать это ...?

+0

1 решение будет выбирать первый вариант по умолчанию, когда пользователь нажимает клавишу ввода или пользовательский фокус из входного поля –

+0

это не будет работать, если в автозаполнении нет результата ... он все равно приведет к мусорному тексту в поле поиска. .. –

ответ

0

Мне удалось найти решение, применив несколько вещей.

Прежде всего, form тег должен onsubmit с return:

<form action="..." method="get" onsubmit="return formSubmitted(this);"> 

второй, автозаполнения следует, функция переменной (скажем ac_var) с приобретенными место данных

ac.place_changed = function() { 
    var pl = ac.getPlace(); 
    var addr = pl.address_components; 
    ac_var = addr[0].long_name; 
} 

третьего в javascript:

function formSubmitted(frm) { 
    if (frm.txt.value == '' || ac_var == '') 
     return false; 

    return true; 
} 

Некоторые проверки на addr[0].long_name, чтобы проверить, что он существует или нет, также должны быть хорошими.

Смежные вопросы