我有以下下拉框
<form name="myform" method="POST" ACTION="songs.php">
Select Category: <select id="sel" name="categories" onchange="document.myform.submit()">
之后的所有选项都紧随其后。当用户进行选择时,根据包含歌曲列表等的选择,使用PHP和MYSQl在下面显示该类别。
但是,下拉框始终默认返回选项列表中的第一个值。如何使下拉框将所选选项设置为上次提交的值?提前谢谢!
答案 0 :(得分:1)
你不能用JS做到这一点,因为它无法直接访问POST请求参数。相反,只要提交的值与选项值匹配,服务器端语言(在您的情况下为PHP)就会在selected
元素上打印<option>
属性。
E.g。
foreach ($options as $value => $label) {
echo '<option value="' . $value . '"' . ($selected == $value ? ' selected' : '') . '>' . $label . '</option>';
}