注意:我已经重写了我的答案以解决解决方案,请参阅下面的 cmets 进行解释。
由于您使用单独的文件来显示每个页面而不是使用 ajax,因此会话似乎是最好的选择。不幸的是,您仍然需要在选项更改时设置这些会话变量。
我决定在这个解决方案中不使用 cookie,因为关闭 cookie 的人比关闭 javascript 的人多。
您可以决定在页面更改时设置会话变量,也可以在每次选择框更改值时设置会话变量。我建议做前者,因为它可以减少服务器上的负载(稍微说一下——您总是想寻找节省开销的方法)。因此,要在 jQuery 中执行此操作,您需要一个可以接受值并将其放入会话变量的辅助脚本。
在您的每个页面中,您首先需要开始一个会话(或加入已经存在的会话):
<?php
session_start();
?>
您需要 jQuery 来在用户单击其中一个选项卡时调用此辅助脚本并将下拉列表中的数据传递给脚本:
每一页的某处
$('#tab').click( function() {
var ddvalue = $("#dropDown").val();
$.ajax({
url: 'secondaryScript.php',
type: 'POST',
data: {
'value' : ddvalue
}.
success: function() {
//redirect to page that was clicked
location.href = 'nextpage.php';
}
});
});
现在,在secondaryScript.php 中,您可以将值添加到会话变量中:
secondaryScript.php
<?php
session_start();
$_SESSION['dropDownValue'] = $_POST['value'];
?>
现在,在每个页面中,您都可以引用这个值:
...
echo $_SESSION['dropDownValue'];
...
当然,对于选择字段,您需要根据该值检查您的选项,并将selected 属性添加到匹配的那个。如果您不知道怎么做,我也可以帮助您。