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

时间:2010-10-17 13:34:32

标签: php javascript html

我有以下下拉框

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

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

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

1 个答案:

答案 0 :(得分:1)

你不能用JS做到这一点,因为它无法直接访问POST请求参数。相反,只要提交的值与选项值匹配,服务器端语言(在您的情况下为PHP)就会在selected元素上打印<option>属性。

E.g。

foreach ($options as $value => $label) {
    echo '<option value="' . $value . '"' . ($selected == $value ? ' selected' : '') . '>' . $label . '</option>';
}