【发布时间】:2017-05-30 10:19:54
【问题描述】:
我在 PHP 中做了很多选择框,我想在刷新页面后保持选中的项目。 (when selecting same select box or another) here is my code.
$selectbox='<select class="form-control" name="estate_id" onchange="this.form.submit()" style="width: 200px" >';
$est_name = $client ->call('get_estate'); // call method from web services
$_SESSION['estname'] = array();
$_SESSION['estname'] = $est_name;
$count = count($_SESSION['estname']);
$i = 0;
foreach ($_SESSION['estname'] as $row)
{
$id = $_SESSION['estname'][$i]['est_id'];
$name = $_SESSION['estname'][$i]['est_name'];
if($id == isset($_POST['estate_id']))
{
$isSelected = ' selected="selected"';
}
else {
$isSelected = '';
}
$selectbox.= "<option value=".$id.$isSelected.">".$name."</option>";
$i++;
}
$selectbox.='</select>';
echo $selectbox;
【问题讨论】:
-
您可能需要本地存储或其他东西。刷新不会向服务器发送数据(表单数据)
-
您能把
$isSelected变量放在选项值之外吗?并检查它。 -
@Jelmergu ... 确实如此,浏览器会在页面加载时重新发送他们拥有的数据 - 因此在大多数带有 POST 表单的浏览器中都会弹出关于表单重新提交的警告。不发送新数据,授予。
标签: php