2010-05-25 3 views
1

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

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

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

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

ответ

3

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

вы должны попробовать:

<?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>"; 
} 
?>
2

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

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

0

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

<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> 
0
$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>"; 
       } 

это мои решения множественного выбора выпадающего списка после изменения кодов Михай Йорга

1

Вот как 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. С уважением

0

После пробовать все это «решает» ничего не работает. Проводилось ли какое-то исследование в 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> 
1
<?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> 

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

0

Простое решения: Если выбор значения окна принесли из БДА, то, чтобы сохранить выбранное значение после отправки формы или формы 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> 
Смежные вопросы