Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Доработать фильтр (https://javascript.ru/forum/job/75176-dorabotat-filtr.html)

Андрей812 10.09.2018 12:03

Доработать фильтр
 
Нужно доработать фильтр
Сайт https://rabotaevropa.ru/services.html
1. нужно чтобы при нажатии на чекбокс сразу применялся фильтр (сейчас фильтрует только после нажатия кнопки Apply filter), а также при изменении "ползунка" цены тоже сразу должен срабатывать фильтр (сейчас применяется после нажатия кнопки Apply filter)
2. Еще нужно сортировать чекбоксы и ссылки по алфавиту, сейчас фильтрация по количеству объявлений(если больше объявлений, то чекбокс выше)
По коду подскажу, движок принципе знаю, а фильтр сделать не могу
Бюджет НЕ БОЛЬШОЙ

laimas 10.09.2018 13:44

Цитата:

Сообщение от Андрей812
нужно чтобы при нажатии на чекбокс сразу применялся фильтр

А стоит ли? Кнопка применить, это запрос сервера и загрузка страницы заново, и это будет теперь происходить при любом выборе, уже не говоря о смене значения в ползунке.

laimas 10.09.2018 13:46

Цитата:

Сообщение от Андрей812
Еще нужно сортировать чекбоксы и ссылки по алфавиту

Это на сервере делайте, сортируя запрашиваемые данные в базе.

Андрей812 10.09.2018 14:32

Хочется сделать чтобы было удобно пользователю. Без лишних нажатий на кнопки "Применить".

laimas 10.09.2018 14:34

Цитата:

Сообщение от Андрей812
Хочется сделать чтобы было удобно пользователю.

Вы думаете это будет удобно постоянно перегружать страницу? А ползунок вообще не будет работать в таком случае.

Андрей812 10.09.2018 15:05

А что тогда посоветуете?

laimas 10.09.2018 15:23

Я не стану анализировать все на этом сайте, но данные по запросу ползунков у них, это Ajax запросы.

У вас все запросы, это обычные запросы сервера. Выбор в фильтре меняет параметры GET запроса в кнопках. Можно добавить к скрипту выполняющему эту задачу и отправку запроса на сервер, тогда вы получите то, чего хочется.

При этом изменение ползунка должно отправлять запрос когда будет отпущен. Но в этом случае чтоб выбрать диапазон мин/макс пользователю придется дважды перегружать страницу.

Андрей812 10.09.2018 15:33

Спасибо!

laimas 10.09.2018 15:42

Андрей812, а желаемая сортировка результата, это просто. Если есть хотя бы минимальные знания SQL, то найдите в коде выполняющем обработку запросов, запрос к базе. Сортировка задается в нем, для MySQL это будет выглядеть так: ORDER BY имя_поля_по_которому_сортир уется. Имен полей может быть несколько, указанных через запятую - сперва будет отсортировано по первому указанному, затем в этом отсортировано по второму и т.д. По умолчанию сортируется по возрастанию (ASC, можно не указывать), для обратной сортировки указывается DESC. Порядок указывается после имени поля. Если у вас запросы выполняет некий класс, значит в коде задается параметры сортировки.

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


Часовой пояс GMT +3, время: 15:49.