Как установить выбранный элемент в раскрывающемся списке

Есть ли способ установить выбранный элемент в раскрывающемся списке, используя следующий код типа?

<select selected="<?php print($row[month]); ?>"><option value="Janurary">January</option><option value="February">February</option><option value="March">March</option><option value="April">April</option></select> 

База данных хранится месяц .. и я хочу разрешить на странице редактирования их выбрать в этом месяце .. но она должна быть заполнена их текущей настройкой?

Solutions Collecting From Web of "Как установить выбранный элемент в раскрывающемся списке"

Вам нужно установить выбранный атрибут правильного тега параметра:

 <option value="January" selected="selected">January</option> 

Ваш PHP будет выглядеть примерно так:

 <option value="January"<?=$row['month'] == 'January' ? ' selected="selected"' : '';?>>January</option> 

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

Вы отмечаете выбранный элемент в <option> , а не тег <select> .

Поэтому ваш код должен читать что-то вроде этого:

 <select> <option value="January"<?php if ($row[month] == 'January') echo ' selected="selected"'; ?>>January</option> <option value="February"<?php if ($row[month] == 'February') echo ' selected="selected"'; ?>>February</option> ... ... <option value="December"<?php if ($row[month] == 'December') echo ' selected="selected"'; ?>>December</option> </select> 

Вы можете сделать это менее повторяющимся, поместив все месячные имена в массив и используя базовый foreach над ними.

Вы можете использовать этот метод, если используете базу данных MySQL:

 include('sql_connect.php'); $result = mysql_query("SELECT * FROM users WHERE `id`!='".$user_id."'"); while ($row = mysql_fetch_array($result)) { if ($_GET['to'] == $row['id']) { $selected = 'selected="selected"'; } else { $selected = ''; } echo('<option value="'.$row['id'].' '.$selected.'">'.$row['username'].' ('.$row['fname'].' '.substr($row['lname'],0,1).'.)</option>'); } mysql_close($con); в include('sql_connect.php'); $result = mysql_query("SELECT * FROM users WHERE `id`!='".$user_id."'"); while ($row = mysql_fetch_array($result)) { if ($_GET['to'] == $row['id']) { $selected = 'selected="selected"'; } else { $selected = ''; } echo('<option value="'.$row['id'].' '.$selected.'">'.$row['username'].' ('.$row['fname'].' '.substr($row['lname'],0,1).'.)</option>'); } mysql_close($con); 

Он будет сравнивать, если пользователь в $ _GET ['to'] совпадает с $ row ['id'] в таблице, если да, будет выбран $ selected. Это было для частной системы обмена сообщениями …

Простой и понятный пример, используя тройные операторы для установки выбранного значения в php

 <?php $plan = array('1' => 'Green','2'=>'Red' ); ?> <select class="form-control" title="Choose Plan"> <?php foreach ($plan as $id=> $value) { ?> <option value="<?php echo $id;?>" <?php echo ($id== '2') ? ' selected="selected"' : '';?>><?php echo $value;?></option> <?php } ?> </select> 

Простой способ

 <select class ="dropdownstyle" name="category" selected="<?php print($messageeditdetails[0]['category_id']); ?>"> <option value=""><?php echo "Select"; ?></option> <?php foreach ($dropdowndetails as $dropdowndetails) { ?> <option <?php if($messageeditdetails[0]['category_id'] == $dropdowndetails['id']) { ?> selected="<?php echo $dropdowndetails['id']; ?>" <?php } ?> value="<?php echo $dropdowndetails['id']; ?>"><?php echo $dropdowndetails['category_name']; ?></option> <?php } ?> </select> 

Это решение, с которым я столкнулся …

 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <select name="select_month"> <?php if (isset($_POST['select_month'])) { if($_POST["select_month"] == "January"){ echo '<option value="January" selected="selected">January</option><option value="February">February</option>'; } elseif($_POST["select_month"] == "February"){ echo '<option value="January">January</option><option value="February" selected="selected">February</option>'; } } else{ echo '<option value="January">January</option><option value="February">February</option>'; } ?> </select> <input name="submit_button" type="submit" value="Search Month"> </form> 

Его слишком старый, но я тоже должен добавить свой путь :), потому что он является общим и полезным, особенно если вы используете статические значения выпадающего списка.

 function selectdCheck($value1,$value2) { if ($value1 == $value2) { echo 'selected="selected"'; } else { echo ''; } return; } 

и в выпадающих вариантах вы можете использовать эту функцию, как это, и вы можете использовать это как можно больше, потому что оно соответствует всем вашим выбранным полям / выпадающим спискам

 <option <?php selectdCheck($row[month],january); ?> value="january">january</option> 

🙂 Я надеюсь, что эта функция поможет другим

Вы можете попробовать это после select tag:

 <option value="yes" selected>yes</option> <option value="no">no</option>