在用户点击提交按钮后保留下拉选项 即时工作1-4天任何帮助将不胜感激 轻松我是一个菜鸟
<?PHP
$day = array( );
$day[0] = "1";
$day[1] = "2";
$day[2] = "3";
$day[3] = "4";
$days=$day;
?>
<select name="day">
<option value="day">Day</option>
<?PHP
for ($days = 0; $days < 4; $days++) {
print"<option value='$day[$days]'>$day[$days]</option>";
}
?>
</select>
答案 0 :(得分:0)
首先,该代码需要重新思考。
您首先创建一个数组,然后无缘无故地将其添加到另一个变量。
其次,您的值只是距离索引一个数字,您可以轻松地计算出来。
最后,你在同一个数组中循环以仅使用索引(不需要数组)。
所以,要把一些代码放在嘴边,看起来像是:
<select name="day">
<option value="day">Day</option>
<?php
for ($day = 1; $day <= 4; $day++) {
print"<option value='$day'>$day</option>";
}
?>
</select>
那就是说,你从未提到需要选择哪个项目。假设它是一个名为$the_day
的变量,这里还有一些代码:
<?php
$the_day = 4;
?><select name="day">
<option value="day">Day</option>
<?php
for ($day = 1; $day <= 4; $day++) {
$it_is = $day == $the_day ? 'selected="selected"' : '';
print"<option value='$day' $it_is>$day</option>";
}
?>
</select>
答案 1 :(得分:0)
您可以在声明中使用选定的关键字
print"<option value='$day[$days]' selected='selected'>$day[$days]</option>";
答案 2 :(得分:0)
您可以从$_REQUEST
超全局中提取传入的值,并在每次迭代时检查它。您要预先选择的<option>
代码应包含selected
属性。此外,当您只需在循环中递增计数器时,无需创建连续整数数组。这样的事情对你有用:
<select name="day">
<option value="day">Day</option>
<?php
$day = null;
if (array_key_exists('day', $_REQUEST) {
$day = $_REQUEST['day'];
}
for ($i = 1; $i <= 4; $i++) {
echo '<option value="' . $i . '"';
if ($i == $day) {
echo ' selected="selected"';
}
echo '>' . $i . "</option>\n";
}
?>
</select>