Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 刷新页面后记住所选值_Php_Javascript_Jquery - Fatal编程技术网

Php 刷新页面后记住所选值

Php 刷新页面后记住所选值,php,javascript,jquery,Php,Javascript,Jquery,在包含带有select字段的表单的页面中,我需要记住前面的选项(如果有的话),例如selected state。我想通过嵌入在JS中的PHP来实现,我错在哪里 <script> <?php if(isset( $_GET["state"] )){ $selected_state = $_GET["state"]; ?> $("#state option[<?php echo $selected_state ?>]").attr("selected", "se

在包含带有select字段的表单的页面中,我需要记住前面的选项(如果有的话),例如selected state。我想通过嵌入在JS中的PHP来实现,我错在哪里

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

$(“#状态选项[]”)attr(“选定”、“选定”);

提前谢谢你

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

例如:

session_start();

$foo = 'John';
$_SESSION['user'] = $foo;
// Refresh the browser.
echo $_SESSION['user'];
// Outout: 'John'.
如果您想了解更多信息,请查看

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

替换:

$("#state option[<?php echo $selected_state ?>]").attr("selected", "selected");
$(“#状态选项[]”)attr(“选定”、“选定”);
与:

$(“#状态选项[值=”)”).attr(“选定”、“选定”);

问题在于jQuery选择器
#state option[SOMETHING]
检查元素
option
是否有一个名为
SOMETHING
的属性,您想查看一个选项的值是否等于
SOMETHING
,因此我们使用
#state option[value='SOMETHING']


您可以在此处找到jQuery选择器文档:

提示:使用cookies保存/恢复所选状态。您的表单方法是否为=“get”?如果是post,您需要使用$\u post而不是$\u GETI,我需要记住下拉菜单中的“选择”。ie如果我在表单中选择了西班牙,一旦页面刷新,select应该记住此状态。是的,我使用GET as Method是的,我知道会话,但我需要在select下拉菜单中记住它。换句话说,刷新后,应自动选择该会话。所需的只是在此页面上写入一个条件检查,以查找活动会话,如果已设置,则更改选择以显示相应的选项。还有其他保存状态的选项,比如保存包含数据的cookie,或者将所选内容保存在db表中,以便在需要时调用。对于这样的事情,我认为会话是你最好的选择,但这是个人偏好。无论您选择什么方法,您都必须编写一些逻辑来测试是否有一个值集,并将其放置在适当的下拉列表中(如果有),只要检查会话是否存在,然后添加一个具有会话值的额外选项并将其定义为选中。
$("#state option[value='<?php echo $selected_state ?>']").attr("selected", "selected");