0

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

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

先感谢您!

4

2 回答 2

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 。

不过要小心你在会话中存储的内容,不要在其中存储关键数据。

于 2013-03-01T18:36:18.920 回答
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,您想在其中查看选项的值是否等于,SOMETHING所以我们使用#state option[value='SOMETHING'].

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

于 2013-03-01T18:45:36.690 回答