我希望在您提交表单时将当前选择保留在下拉列表中。我该怎么做?
我的代码:
echo '<select name="RoomSelection">';
while ($row = mysqli_fetch_array($selectroom1)) {
echo '<option value="'.$row['Location'].'">'.$row['Location'].'</option>';
}
echo '</select>';
答案 0 :(得分:1)
只需获取提交的值(来自POST或GET)。然后在<option>
内添加一个条件。检查当前迭代值是否等于所选值:
基本理念:
$selected_value = isset($_POST['RoomSelection']) ? $_POST['RoomSelection'] : '';
echo '<select name="RoomSelection">';
while ($row = mysqli_fetch_array($selectroom1)) {
$selected_attribute = ($selected_value === $row['Location']) ? 'selected="selected"' : '';
echo '<option value="'.$row['Location'].'" $selected_attribute>'.$row['Location'].'</option>';
}
echo '</select>';
答案 1 :(得分:0)
很简单:
echo '<select name="RoomSelection">';
while ($row = mysqli_fetch_array($selectroom1)) {
echo '<option value="'.$row['Location'].'"';
if($_POST['RoomSelection']==$row['Location']) echo ' SELECTED ';
echo '>'.$row['Location'].'</option>';
}
echo '</select>';
如果值等于post值,则只写SELECTED。如果您的表单处于POST方法中,则必须在GET中进行调整。