我的工作代码如下。基本上,代码打印选项50次,4是默认选择的选项。
for ($i = 1; $i <= 50; $i++) {
if($i == 4){
echo '<option value="' . $i . '" selected>' . $i . '%</option>';
}else {
echo '<option value="' . $i . '">' . $i . '%</option>';
}
}
但每次单击“提交”按钮时,即使正确捕获了变量,选项字段也会重置为所选选项。
如果用户选择的选项在单击按钮后保留,并且它重置回所选默认值的唯一时间是刷新页面,那将是一件好事。
答案 0 :(得分:0)
这应该这样做 - 它使用客户端发送的值(如果存在),如果不存在,则使用4。
if (isset($_POST['selected_value'])) {
$selected = $_POST['selected_value'];
} else {
$selected = 4;
}
for ($i = 1; $i <= 50; $i++) {
if($i == $selected){
echo '<option value="' . $i . '" selected>' . $i . '%</option>';
}else {
echo '<option value="' . $i . '">' . $i . '%</option>';
}
}
答案 1 :(得分:0)
检查value
是否由post
发送,如果没有为变量option
分配4
<form action="#" method="post" accept-charset="utf-8">
<select name="select">
<?php
if(isset($_POST['select']))
{
$option= $_POST['select'];
}
else
$option=4;
for ($i = 1; $i <= 50; $i++) {
if($i == $option){
echo '<option value="' . $i . '" selected>' . $i . '%</option>';
}else {
echo '<option value="' . $i . '">' . $i . '%</option>';
}
}
?>
</select>
<input type="submit" name="" value="Sumbit">
</form>
答案 2 :(得分:0)
从已发布字段中获取值,例如&#34; select
&#34;,如果存在,则将其视为已选择,否则为默认值。
使用以下代码:
$selected = (isset($_POST['select']) ? $_POST['select'] : 4);
for ($i = 1; $i <= 50; $i++) {
if($i == $selected){
echo '<option value="' . $i . '" selected>' . $i . '%</option>';
}else {
echo '<option value="' . $i . '">' . $i . '%</option>';
}
}