jQuery autocomplete: как заполнить несколько полей при вводе данных в одно из них? - PullRequest
3 голосов
/ 23 ноября 2011

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

Допустим, у меня есть оба поля:

<input id="city" name="city_field" type="text">
<input id="zip" name="zip_field" type="text">

Для автозаполнения города, у меня есть этот код, который прекрасно работает:

<script type="text/javascript">
    var data = ['New York', '...']; //I keep the entire list here
    $(document).ready(function(){
        $("#city").autocomplete({
            source: data
        });
    });
</script>

Теперь, как мне автоматически заполнить почтовый индекс при вводе города?

(я храню все данные в переменных, поэтому нет необходимости подключаться к базе данных)

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Вам необходимо использовать событие-выбор , доступное при автозаполнении.

0 голосов
/ 23 ноября 2011

как то так

<script type="text/javascript">
var data = ['New York', '...']; //I keep the entire list here
$(document).ready(function(){
    $("#city").autocomplete({
        source: data,
        select: function(event, ui) {
            $("input#city").val(ui.item.value);
            $("input#zip").val(foo(ui.item.value)); // TODO Map to zip
            return false;
        },
    });
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...