在包含带有选择字段的表单的页面中,我需要记住例如所选状态的先前选择(如果有的话)。我想通过嵌入在JS中的PHP来做到这一点,我错了吗?
<script>
<?php
if(isset( $_GET["state"] )){
$selected_state = $_GET["state"];
?>
$("#state option[<?php echo $selected_state ?>]").attr("selected", "selected");
<?php } ?>
</script>
提前谢谢!
答案 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/