0
Отвечен

Можно ли изменить html?

Анонимный 5 лет назад обновлен Антон Жиянов 5 лет назад 20

Здравствуйте! Можно ли изменить html? Или вставлять данные в свой код? Или изменить место, куда вставляется список? Не присваивать стили скриптом?

интерфейс: jquery-плагин сервис: подсказки

Ответ

Ответ

Всё можно сделать, но уже не на базе нашего плагина. Вы можете делать обычный AJAX-запрос к «Дадате», получать результаты и показывать их так, как считаете нужным.

Примеры, как сделать AJAX-запрос:

На рассмотрении

Добрый день! Всё можно. Если есть конкретная проблема — дайте ссылку на страницу, где можно её посмотреть. Или сделайте пример на https://codepen.io

В каком списке вы хотите видеть вывод? Все ссылки ведут в никуда.

Исправила, посмотрите, пожалуйста

Ничего не изменилось. У вас в примере ссылки «Item 1», «Item 2» и так далее — все ведут в никуда.

1) По умолчанию код выпадающего списка выглядит вот так: https://codepen.io/marymiu/pen/NWKRybG

Вопрос: можно ли изменить структуру, например, на список https://codepen.io/marymiu/pen/bGbwvpR

2) Скрипт добавляет встроенные стили style="..." https://codepen.io/marymiu/pen/NWKRybG

Вопрос: есть ли способ их убрать? Кроме как перебивать через !important

3) По умолчанию выпадающий список suggestions-wrapper добавляется под элемент input. Можно ли выборочно изменить место появления?

====

Есть желание интегрировать дадату в плагин mmenu https://codepen.io/marymiu/pen/oNvzEwQ, и при этом оставить код достаточно чистым.

Последняя ссылка ведет на 404 из-за запятой в конце, удалите запятую

Ответ

Всё можно сделать, но уже не на базе нашего плагина. Вы можете делать обычный AJAX-запрос к «Дадате», получать результаты и показывать их так, как считаете нужным.

Примеры, как сделать AJAX-запрос:

Отвечен

Пожалуйста! Если будут вопросы — дайте знать.

1. Как через ajax передать параметр bounds: "city-settlement" ?

2. Можно ли через ajax сделать привязку поиск населенного города по API , что бы при поиске учитывалось местоположение пользователя?

Спасибо за предоставленные ссылки, очень помогли.

Подскажите , https://codepen.io/dadata/pen/bFlGc

Ввожу Новосибирск, первым выпадает город по точному совпадению, но почему-то у него отсутствует postal_code, как получить индекс города?

Пока человек не выбрал конкретную подсказку (count > 1), Дадата использует справочник адресов налоговой службы (ФИАС). В нём нет индексов для некоторых адресов.

Когда же человек выбирает конкретную подсказку (count = 1), Дадата возвращает дополнительную информацию об адресе, в том числе индекс по справочнику Почты России.

Текст запроса при count = 1 должен быть результатом одного из предыдущих запросов (значением поля unrestricted_value).

Но в примере выше мы используем API , клиент не сможет выбрать какую - либо подсказку, DaData нам возвращает просто список что найдено по запросу...

Получается что в данном случае не получить индекс?

А тут уже вопрос вашего сценария использования: для чего вам подсказки, если в процессе никак не участвует человек?

Логика такая:

API DaData возвращает список городов и населенных пунктов, относительно этого списка мы строим вывод в нужном нам месте.

При клике клиентом на нужный город\населенный пункт , происходит ajax запрос на нашем сервере , куда передается название выбранного города + его индекс.

Тогда при клике клиентом на нужный город делайте запрос с count = 1, и берите индекс из ответа.

Делать запрос с "count = 1" и подставлять в текст запроса данные из unrestricted_value? Тогда в любом случае вернется верно выбранный город клиентом?

Или можно подставить в запрос "city_fias_id" к примеру и тогда точно получим верные данные, или передавать подобные параметры в запрос нельзя?

Вы правы, надёжнее использовать fias_id. Только запрос тогда отправлять к другому методу — «Адрес по ФИАС-коду».

Сервис поддержки клиентов работает на платформе UserEcho