Отметить значение ckecked в фильтре на сайте

Люди добрые, подскажите пожалуйста добрым советом как быть? Есть фильтр на сайте (сайт на Ларке), я хочу отметить значение ckecked если оно уже выбрано, но почему-то он выделяет только одно значение из двух, а там может быть 2 и более значения выбрано, как решить этот вопрос?

Адресная строка:
https://example.lc/vacancy?

part_time=temporary_job_true&part_time=employment_part

В чекбоксе я делал следующую проверку
{{ request()->input('part_time') === 'temporary_job_true' ? 'checked':'' }}
{{ request()->input('part_time') === 'employment_part' ? 'checked':'' }}

Проблема заключается в том, что вы используете одинаковый ключ part_time для нескольких значений в адресной строке. Когда вы вызываете request()->input('part_time'), Laravel возвращает только первое значение этого параметра, то есть 'temporary_job_true', игнорируя другие.

Чтобы исправить это, вы можете изменить ключи в адресной строке, сделав их уникальными, например:

https://example.lc/vacancy?part_time[]=temporary_job_true&part_time[]=employment_part

И затем в чекбоксах вы можете проверить наличие каждого значения, используя метод in_array():

{{ in_array('temporary_job_true', request()->input('part_time', [])) ? 'checked' : '' }}
{{ in_array('employment_part', request()->input('part_time', [])) ? 'checked' : '' }}

Обратите внимание, что мы передаем пустой массив вторым параметром метода input(), чтобы если параметр part_time отсутствует в запросе, метод вернул пустой массив вместо null.

о параметре part_time

Без дополнительной информации о контексте, в котором используется параметр part_time, трудно дать подробный ответ. Однако, предположу, что этот параметр относится к фильтрации вакансий на сайте по условиям работы.

Возможно, этот параметр принимает различные значения в зависимости от типа работы, например, может принимать значения «part-time» (частичная занятость) или «full-time» (полная занятость). Также возможно, что значение параметра может включать информацию о временной занятости (например, «temporary job» для временной работы или «permanent job» для постоянной работы).

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

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *