Как установить выбранный элемент в раскрывающемся списке
Можно ли установить выбранный элемент в раскрывающемся списке, используя следующий код типа?
<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>
База данных хранится месяц.. и я хочу разрешить на странице редактирования их выбрать в этом месяце.. но она должна быть предварительно заполнена их текущей настройкой?
Ответы
Ответ 1
Вам нужно установить выбранный атрибут правильного тега параметра:
<option value="January" selected="selected">January</option>
Ваш PHP будет выглядеть примерно так:
<option value="January"<?=$row['month'] == 'January' ? ' selected="selected"' : '';?>>January</option>
Я обычно нахожу более аккуратным создание массива значений и прокрутку, чтобы создать раскрывающееся меню.
Ответ 2
Вы отмечаете выбранный элемент тега <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
.
Ответ 3
Этот метод можно использовать, если вы используете базу данных 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);
Он будет сравнивать, если пользователь в $_GET ['to'] совпадает с $row ['id'] в таблице, если да, будет выбран выбранный $. Это было для частной системы обмена сообщениями...
Ответ 4
Простой и понятный пример, используя тройные операторы для установки выбранного значения в 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>
Ответ 5
Слишком старый, но я тоже должен добавить свой путь:), потому что он универсален и полезен, особенно если вы используете статические значения выпадающего списка.
function selectdCheck($value1,$value2)
{
if ($value1 == $value2)
{
echo 'selected="selected"';
} else
{
echo '';
}
return;
}
а в вариантах выпадающего списка вы можете использовать эту функцию, как это, и вы можете использовать это как можно больше, потому что оно подходит ко всем выбранным полям/выпадающим меню
<option <?php selectdCheck($row[month],january); ?> value="january">january</option>
:) Я надеюсь, что эта функция поможет другим
Ответ 6
Простой способ
<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>
Ответ 7
Это решение, с которым я придумал...
<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>
Ответ 8
Простое решение: это работает для меня
<div class="form-group">
<label for="mcategory">Select Category</label>
<select class="form-control" id="mcategory" name="mcategory" required>
<option value="">Please select category</option>
<?php foreach ($result_cat as $result): ?>
<option value="<?php echo $result['name'];?>"<?php
if($result['name']==$mcategory){
echo 'selected';
} ?>><?php echo $result['name']; ?></option>
}
<?php endforeach; ?>
</select>
</div>
Ответ 9
Проверь это:
<select class="form-control" id="department" name="department" type="text">
<option value="medical-furniture" @if($list->department == "medical-furniture") selected @endif>Medical furniture</option>
<option value="medical-table" @if($list->department == "medical-table") selected @endif>Medical table</option>
<option value="service" @if($list->department == "service") selected @endif>Service</option>
</select>
Ответ 10
Пожалуйста, нажмите на изображение, чтобы увидеть код. Кто-нибудь знает, как добиться одинаковой функциональности в окне выбора с множественным выбором с массивами?
Ответ 11
Вы можете попробовать это после тега select:
<option value="yes" selected>yes</option>
<option value="no">no</option>