Я пытаюсь реализовать функцию поиска на своем веб-сайте.
когда ключевое слово поиска введено в текстовое поле, и выбрана категория combo, форма будет опубликована, и результат будет показан на той же странице.
я хочу сохранить выбранную категорию комбо по умолчанию в форме после публикации
Например, если я выбираю категорию «Автомобили» в комбо и выбираю поиск, после отправки формы комбо должно показывать автомобили как выбранные по умолчанию. Пожалуйста, помогите мне. Любая помощь будет оценена
Я предполагаю, что вы получаете категории из базы данных.
Ты должен попытаться:
<?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>