@KOPC1886

Как переинициализировать jquery autocomplete?

Всем привет!

Есть такая проблема. На один инпут вешается автокомплит в зависимости от выбранного option.

Если сначала выбрать первый Option , то будут подтягиваться одни данные, если второй, то и те, что из первого option и те что должны подтягиваться для второго инпута.

if (country === 676370) {
            $cityInput.autocomplete({
                serviceUrl: ajaxHandlerPath,
                params: {action: 'findCity'},
                deferRequestBy: 300,
                minChars: 3,
                groupBy: 'level',
                onSelect: function (o) {
                    $cityInput.val(o.value);
                    $cityForServiceTask.parent('div').children('a.clearCityBlock').remove();
                    $cityForServiceTask.text(o.value).after($('<a>').addClass('clearCityBlock').text('x').attr('data-id', number));
                    if (o.parent) {
                        $getParents(o.parent);
                    }
                }
            });
            $cityInput.val('');
        } else {
            if (countryCodeForSearch > 0) {
                $cityInput.val('').autocomplete({
                    serviceUrl: ajaxHandlerPath,
                    params: {action: 'findCityByCountryId', country: countryCodeForSearch},
                    deferRequestBy: 300,
                    minChars: 3,
                    onSelect: function (o) {
                        $cityInput.val('г. ' + o.value);
                    }
                });
            } else {
                try {
                    $cityInput.autocomplete('dispose');
                } catch (e) {
                    console.log('o_O',e);
                }

                $cityInput.val('г. ').focus();
            }

            $cityForServiceTask.text('').parent('div').children('a.clearCityBlock').remove();
        }


Как переинициализировать инпут?

При $cityInput.autcomplete('destroy') и $cityInput.autcomplete('disable') пишет, что таких функций нету.

Jquery.autocomplete.js Версия 1.2.5
  • Вопрос задан
  • 545 просмотров
Решения вопроса 1
@iShatokhin
JS developer
var ac = $cityInput.autocomplete({ /* ваш код */});
ac.disable(); // выключить
ac.enable(); // включить
ac.dispose(); // уничтожить
ac.setOptons({ /* ваш код */ }); // изменить настройки, можете тут просто заменить findCity на findCityByCountryId и все с ними связанное
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы