这是我的下拉列表代码,请指导我。
<div class = "form-inline">
<label class = "">Situation</label>
<select selected="" name="sit" id="situ" class='form-control'style="margin-left: 30px; width: 145px;">
<option value="" >select</option>
<?
if ($situation != '') {
$revise = $situation;
}
foreach ($revise as $row):
?>
<option value="<?= $row['id']; ?>"><?= $row['situation']; ?></option>
<? endforeach; ?>
</select>
</div>
答案 0 :(得分:0)
对于要为下拉列表选择的项目,请添加属性selected
。
例如
<select>
<option value="0">0</option>
<option value="1" selected="selected">1</option>
<option value="2">2</option>
</select>
在这种情况下,将选择1。
要在表单提交后获取此下拉列表的值,它取决于表单 POST 或 GET 的方法。
在这个例子中,我假设它是POST。 <form method="POST">
<div class = "form-inline">
<label class = "">Situation</label>
<select selected="" name="sit" id="situ" class='form-control'style="margin-left: 30px; width: 145px;">
<option value="" >select</option>
<?
if (isset($_POST['sit']))
$selected = $_POST['sit'];
if ($situation != '') {
$revise = $situation;
}
foreach ($revise as $row):
$selectedHTML = '';
if (isset($selected) && $row['id'] == $selected)
$selectedHTML = ' selected="selected"';
?>
<option value="<?= $row['id']; ?>"<?= $selectedHTML; ?>><?= $row['situation']; ?></option>
<? endforeach; ?>
</select>
</div>
你可以尝试这样的事情。
if (isset($_POST['sit']))
$selected = $_POST['sit'];
这样做是检查是否找到$_POST['sit']
值。如果是,那么我们会$selected
,否则我们会留下它。
$selectedHTML = '';
if (isset($selected) && $row['id'] == $selected)
$selectedHTML = ' selected="selected"';
然后在foreach循环中,我们将首先将$selectedHTML
初始化为空字符串。它不会向<option>
添加任何内容,除非它的值已更改。
我们将检查是否定义了$selected
,如果是,我们将检查foreach循环中$row['id']
的当前值是否等于提交的值{{1} }。如果是,我们会设置$selected
,$selectedHTML
仅将selected="selected"
添加到当前<option>
。