Как сохранить выбранное значение поля выбора после формы POST или GET

Я пытаюсь реализовать функцию поиска на своем веб-сайте.

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

я хочу сохранить выбранную категорию комбо по умолчанию в форме после публикации

Например, если я выбираю категорию «Автомобили» в комбо и выбираю поиск, после отправки формы комбо должно показывать автомобили как выбранные по умолчанию. Пожалуйста, помогите мне. Любая помощь будет оценена

Related of "Как сохранить выбранное значение поля выбора после формы POST или GET"

Я предполагаю, что вы получаете категории из базы данных.

Ты должен попытаться:

<?php $categories = $rows; //array from database foreach($rows as $row){ if($row['name'] == $_POST['category']){ $isSelected = ' selected="selected"'; // if the option submited in form is as same as this row we add the selected tag } else { $isSelected = ''; // else we remove any tag } echo "<option value='".$row['id']."'".$isSelected.">".$row['name']."</option>"; } ?> 

Предполагая, что под «комбо» вы подразумеваете «регулярный отбор элементов в качестве раскрывающегося меню или списка», а не «Комбобокс, представляющий собой комбинацию выпадающего меню и свободного ввода текста»:

При выводе элементов <option> проверьте значение против представленных данных в $_POST / $_GET и selected вывод (в HTML) или selected="selected" (в XHTML) в качестве атрибута элемента option.

Вот способ JQuery, который я использую.

 <select name="name" id="name"> <option value="a">a</option> <option value="b">b</option> </select> <script type="text/javascript"> $("#name").val("<?php echo $_POST['name'];?>"); </script> 

Но это только в том случае, если на вашем веб-сайте включен jquery. С уважением

 <?php $example = $_POST["friend"]; ?> <form method="POST"> <select name="friend"> <option value="tom" <?php if (isset($example) && $example=="tom") echo ' selected';?>>Thomas Finnegan</option> <option value="anna" <?php if (isset($example) && $example=="anna") echo ' selected';?>>Anna Karenina</option> </select> <br><br> <input type="submit"> </form> 

Это решило мою проблему.

Это решило мою проблему. Спасибо всем, кто ответил

  <select name="name" id="name"> <option value="a">a</option> <option value="b">b</option> </select> <script type="text/javascript"> document.getElementById('name').value = "<?php echo $_GET['name'];?>"; </script> 
 $countries_uid = $_POST['countries_uid']; while($row = mysql_fetch_array($result)){ $uid = $row['uid']; $country = $row['country_name']; $isSelected = null; if(!empty($countries_uid)){ foreach($countries_uid as $country_uid){//cycle through country_uid if($row['uid'] == $country_uid){ $isSelected = 'selected="selected"'; // if the option submited in form is as same as this row we add the selected } } }else { $isSelected = ''; // else we remove any tag } echo "<option value='".$uid."'".$isSelected.">".$country."</option>"; } 

это мои решения с несколькими вариантами выпадающего окна после изменения кодов Mihai Iorga

После попытки все это «решает» ничего не работает. Проводилось ли какое-то исследование в w3school раньше и помнилось, что было объяснение сохранения ценностей в отношении радио. Но он также работает для опции Select. См. Здесь пример. Просто попробуйте и поиграйте с ним.

 <?php $example = $_POST["example"]; ?> <form method="post"> <select name="example"> <option <?php if (isset($example) && $example=="a") echo "selected";?>>a</option> <option <?php if (isset($example) && $example=="b") echo "selected";?>>b</option> <option <?php if (isset($example) && $example=="c") echo "selected";?>>c</option> </select> <input type="submit" name="submit" value="submit" /> </form> 

Простое решение: если выбрать значение ячейки, извлеченное из БД, то сохранить выбранное значение после отправки формы или формы POST

  <select name="country" id="country"> <?php $countries = $wpdb->get_results( 'SELECT * FROM countries' ); ?> <option value=""> <?php if(isset($_POST['country'])){echo htmlentities($_POST['country']); } else { echo "Select Country *"; }?> </option> <?php foreach($countries as $country){ ?> <option <?php echo ($_POST['country'] == $country->country_name ? 'selected="selected"':''); ?> value="<?php echo $country->country_name; ?>"><?php echo $country->country_name; ?> </option> <?php } ?> </select>