刷新页面后,请记住所选值

时间:2013-03-01 18:34:07

标签: php javascript jquery

在包含带有选择字段的表单的页面中,我需要记住例如所选状态的先前选择(如果有的话)。我想通过嵌入在JS中的PHP来做到这一点,我错了吗?

<script>
<?php
if(isset( $_GET["state"] )){
$selected_state =  $_GET["state"];
?>
$("#state option[<?php echo $selected_state ?>]").attr("selected", "selected");
<?php } ?>
</script>

提前谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用PHP中的会话来记住某些数据。

例如:

session_start();

$foo = 'John';
$_SESSION['user'] = $foo;
// Refresh the browser.
echo $_SESSION['user'];
// Outout: 'John'.

如果您想了解更多信息,请查看http://php.net/manual/en/ref.session.php

请注意会话中存储的内容,不要将关键数据存储在会话中。

答案 1 :(得分:1)

替换:

$("#state option[<?php echo $selected_state ?>]").attr("selected", "selected");

使用:

$("#state option[value='<?php echo $selected_state ?>']").attr("selected", "selected");

问题出在jQuery选择器#state option[SOMETHING]上,它检查元素option是否有一个名为SOMETHING的属性,在那里你想看看一个选项的值是否等于{ {1}}所以我们使用SOMETHING

您可以在此处找到jQuery选择器文档:http://api.jquery.com/category/selectors/