Php 使用javascript将下拉框的值设置为上次提交的值

Php 使用javascript将下拉框的值设置为上次提交的值,php,javascript,html,Php,Javascript,Html,我有下面的下拉框 <form name="myform" method="POST" ACTION="songs.php"> Select Category: <select id="sel" name="categories" onchange="document.myform.submit()"> 选择类别: 所有的选择都在后面。当用户进行选择时,根据包含歌曲列表等的选择,使用PHP和MYSQl在下面显示类别 但是,下拉框始终默认返回选项列表中的第一个值。如何使

我有下面的下拉框

<form name="myform" method="POST" ACTION="songs.php">
Select Category: <select id="sel" name="categories" onchange="document.myform.submit()">

选择类别:
所有的选择都在后面。当用户进行选择时,根据包含歌曲列表等的选择,使用PHP和MYSQl在下面显示类别


但是,下拉框始终默认返回选项列表中的第一个值。如何使下拉框将所选选项设置为上次提交的值?提前谢谢

JS不能这样做,因为它无法直接访问POST请求参数。相反,只要提交的值与选项值匹配,就让服务器端语言(在您的例子中是PHP)在
元素上打印
selected
属性

例如

foreach($value=>$label的选项){
回显“.$label.”;
}

使用JS无法做到这一点,因为它无法直接访问POST请求参数。相反,只要提交的值与选项值匹配,就让服务器端语言(在您的例子中是PHP)在
元素上打印
selected
属性

例如

foreach($value=>$label的选项){
回显“.$label.”;
}
foreach ($options as $value => $label) {
    echo '<option value="' . $value . '"' . ($selected == $value ? ' selected' : '') . '>' . $label . '</option>';
}