Отметить значение 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
, я смогу дать более точный ответ.
Свежие отзывы-комментарии