Сохранение выбора в select
Приветствую. Есть такой код:
<select name="sel" onchange="document.location=this.value"> <option value="{$obj_doska->base_url_page.$add_param_url_2}">Обычная сортировка</option> <option value="{$obj_doska->base_url_page}?{$add_param_url_1}sort=date&tsort=desc" {$obj_doska->name_sort == "date" && $obj_doska->type_sort == "desc" ? $on_class : ""}">Новые</option> <option value="{$obj_doska->base_url_page}?{$add_param_url_1}sort=date&tsort=asc" {$obj_doska->name_sort == "date" && $obj_doska->type_sort == "asc" ? $on_class : ""}">Старые</option> <option value="{$obj_doska->base_url_page}?{$add_param_url_1}sort=cost&tsort=desc" {$obj_doska->name_sort == "cost" && $obj_doska->type_sort == "desc" ? $on_class : ""}">Дороже</option> <option value="{$obj_doska->base_url_page}?{$add_param_url_1}sort=cost&tsort=asc" {$obj_doska->name_sort == "cost" && $obj_doska->type_sort == "asc" ? $on_class : ""}">Дешевле</option> </select> Как можно сделать сохранение выбора option при обновлении страницы? На данный момент, при нажатии на один из пунктов, происходит фильтрация, но значение не сохраняется. php не предлагать) |
Цитата:
|
Весь код расположен в html файле.
|
steepfox,
onchange ->сохранить this.value в localStorage при загрузке проверить - если есть установить |
И что? Это {$obj_doska->base_url_page}?{$add_param_url_1}sort=cost&tsort= desc и другие чье произведение, сервера или клиента? Да и вообще это слишком так определять сортировку.
|
Можно как-то на моем примере это реализовать? laimas подтвердит, что я в этом деле бум бум )
|
laimas, я понимаю, что данная сортировка это бред, но выбирать не приходится. Как можно в моем случаи реализовать это?
|
Вот у вас в коде {$obj_doska->name_sort == "cost" && $obj_doska->type_sort == "desc" ? $on_class : ""} - и это проверка сервером условия (тернарный оператор), что нельзя также серверу проверить какие ключи пришли и соответственно выбрать опцию?
У вас четыре комбинации из двух ключей, первая опция должна быть выбрана, если: $_GET['sort']=='date' && $_GET['tsort']=='desc' ? 'selected' : null для остальных свои комбинации. И этот оператор проблематично вставить в тело опций? PS. Сортировка по возрастанию (ASC) она по умолчанию, гонять это значение туда сюда нет смысла. |
Как я понял, нужно данный код прописать куда-то сюда?
<option value="{$obj_doska->base_url_page}?{$add_param_url_1}sort=date&tsort=desc" {$obj_doska->name_sort == "date" && $obj_doska->type_sort == "desc" ? $on_class : ""}">Новые</option> |
<option value="{$obj_doska->base_url_page}?{$add_param_url_1}sort=date&tsort=desc" {$obj_doska->name_sort == "date" && $obj_doska->type_sort == "desc" ? $on_class : ""}" {$_GET['sort']=='date' && $_GET['tsort']=='desc' ? 'selected' : null}>Новые</option> Надо полагать, что ключи сортировки $_GET['sort'] и $_GET['tsort'] до вывода этого списка обрабатываются и возможно присваиваются неким переменным, поэтому вместо $_GET['sort'] и $_GET['tsort'] в операторе можно использовать их. |
Часовой пояс GMT +3, время: 23:26. |