Как передать значения с одного select в другой select
Есть два селекта на одной странице, надо передать выбранные значения у них на другую страницу в такие же селекты.
<div class="simple-filter_item button-group filters">
<p class="rus">level</p>
<?php
$categories = get_terms('level', 'orderby=name&hide_empty=0');
if($categories){
echo '<select name="level" id="level1"><option value="card-item" selected>Любой</option>';
foreach ($categories as $cat){
echo "<option value='level-{$cat->term_id}'>{$cat->name}</option>";
}
echo '</select>';
}?>
</div>
<div class="simple-filter_item">
<p>direction</p>
<?php
$categories = get_terms('direction', 'orderby=name&hide_empty=0');
if($categories){
echo '<select name="direction" id="direction1"><option value="card-item" selected>Любой</option>';
foreach ($categories as $cat){
echo "<option value='direction-{$cat->term_id}'>{$cat->name}</option>";
}
echo '</select>';
}?>
</div>
Подскажите, пожалуйста, как это сделать нормально, перерыла куча сайтов и решения оттуда нормально не работаю =\ Заранее всем спасибо:3
Ответы (2 шт):
У Вас проблема поскольку вы не совсем понимаете как работает веб.
- Браузер делает запрос на первую страницу.
- Ваш сервер (php) получив запрос на страницу начинает рендерить ответ.
- Браузер получив данные начинает отрисовывать и обрабатываеть страницу.
- Пользователь выбирает 2 значения из селектов. - тут остановимся. Откуда возмется вторая траница? Чтобы появилась вторая страница нужно чтоб ее отправил сервер. А чтобы отправил сервер нужно чтобы он получил запрос. Откуда возмется запрос? его отправит браузер на реакцию пользователя на странице.
- Так вот чтобы появилось что-то вам нужное на второй странице. Эту страницу нужно подготовить. В вашем случае можно
- Отправить в запросе ваши выбранные значения. И во время обработки страницы выбрать значения этих селекторов
- Не отправлять на сервер значения селекторов, а хранить и обрабатывать через localStorage
- тут стоить заметить есть и sessionStorage и cookie
1)Можно использовать глобальный массив $_SESSION или $_COOKIE. Передать туда значения селектов и подставить на следующей странице. Таким образом проходят многостраничные тесты.
2)При отправке формы вы получаете значения селектов, принимаете их в методе и в этом методе отображаете вьюшку(другую страницу). Во вьюшку передаёте параметры(значения селектов) и так же подставляете их в этой вьюшке