使用 PHP 会话变量刷新后保留下拉选择值



我正在尝试使下拉列表选择"粘性",基本上我需要在会话变量中保留下拉列表选择的值,然后在doprdown选择中使用会话变量,以便在刷新页面时,该值保留在下拉选择中。我正在尝试在 php 中执行此操作。

这是选择的代码:

<?php
$countryId = isset($_POST['country']) ? $_POST['country'] : '';
asort($dirs);
reset($dirs);
echo '<option value="" disabled selected>Select Your Country</option>';
foreach ($dirs as $p => $w):
$selected = $countryId === $w ? 'selected' : '';
echo '<option value="' . $w . '" ' . $selected . '>' . $w . '</option>';
endforeach;
?>

任何建议都非常感谢

创建一个名为savesession.php的第二个文件

<?php
if (isset($_GET['country_option'])) $_SESSION['country_option'] = $_GET['country_option'];

然后将您的代码更改为

<?php
$countryId = isset($_POST['country']) ? $_POST['country'] : isset($_SESSION['country_option']) ? $_SESSION['country_option'] : '';
asort($dirs);
reset($dirs); 
echo '<option value="" disabled selected>Select Your Country</option>';
foreach($dirs as $p => $w):
$selected = $countryId===$w ? 'selected' : '';
echo '<option value="'.$w.'" '.$selected.'>'.$w.'</option>';
endforeach;
?>
<script>
function onDropDownChange(){
var dd = document.getElementById("dropdownID");
var selectedItem = dd.options[dd.selectedIndex].value;
var ajax = new XMLHttpRequest();
ajax.open("GET", "yourpage.com/savesession.php?country_option=" + selectedItem, true);
ajax.send();
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {    
var data = ajax.responseText;    
} 
}
}
</script>

然后添加一个onchange="onDropDownChange"id="dropdownID"<select>,以便它在DropDownChange上调用javascript函数

最新更新