Список городов

Автор Arthur, 10 сентября 2019, 15:51:59

« назад - далее »

Arthur

Всем привет. Установил модуль доставки на свой сайт. Теперь при заполнении полей адреса, нужно выбрать город из списка. Но список этот на столько большой, что проматывать его очень долго и неудобно. Реально ли сделать так, чтобы можно было самому вводить текст, и список сокращался?

Adik

Реально. Смотрите как сделан поиск, когда включаешь мгновенный поиск, там после ввода 3 символов подгружаются товары.
Контроллер поиска и js можно склонировать и заменить таблицу товаров на таблицу городов.

Arthur

Для меня это слишком сложное решение. Начал копаться по инету в поисках более простого. Наткнулся на это: https://www.sitepoint.com/jquery-select-box-components-chosen-vs-select2/
Вроде бы все просто, надо только скрипты в конец страницы добавить. Проблема в том, что после добавления скрипта jQuery, перестает выводиться список городов.  :(

Mr.Sen

Скорее всего конфликт между функциями модуля и новыми. В модуле нужно отключить его функции.

Arthur

#4
Нашел решение через datalist:
<div class="required id_state form-group">
<label for="id_state">{l s='State'} <input list="id_state" name="id_state" type="text">
</label> <sup>*</sup></label>
<datalist id="id_state">
<option value="">-</option>
</datalist>
</div>

Все работает, только после выбора города, появляется число. В списке выглядит так: <option value="839">Абакан (Республика Хакасия)</option> - т.е. выбрав Абакан, появится 839. Как сделать, чтоб оставался Абакан?

Arthur

Нашел несколько решений. Все с использованием скриптов. Но проблема в том, что какой бы скрипт я не попытался добавить - ничего не работает.

Mr.Sen

Цитата: Arthur от 12 сентября 2019, 19:49:18
Нашел решение через datalist:
<div class="required id_state form-group">
<label for="id_state">{l s='State'} <input list="id_state" name="id_state" type="text">
</label> <sup>*</sup></label>
<datalist id="id_state">
<option value="">-</option>
</datalist>
</div>

Все работает, только после выбора города, появляется число. В списке выглядит так: <option value="839">Абакан (Республика Хакасия)</option> - т.е. выбрав Абакан, появится 839. Как сделать, чтоб оставался Абакан?
datalist плохой вариант, не все браузеры его поддерживают, лучше не использовать.

Arthur

Про datalist начитался вчера. Вариант и правда плохой. А как Вы сами делаете? Никто ж не оставляет select без поиска с 2000 городов на выбор.

Mr.Sen

В самом prestashop нет такой необходимости, а в модулях доставки есть такие функции по умолчанию. Тот кто делает модуль добавляет такие функции.

Arthur

У меня модуль eDost. С ним идет только список городов, который грузится в базу данных.

petros

Модуль Address Autocomplete можно установить. Продается на сайте prestashop. Можно скачать на нуледе.

Arthur

Этот модуль не совсем то, что нужно. Там просто автозаполнение при вводе адреса, а мне нужно выбрать из списка, чтобы модуль правильно рассчитал стоимость доставки.

Arthur