我相信这个问题将涉及AJAX,jQuery,PHP和会话。 我已经尝试了好几天,但无法破解。 经过多次散步后重新开始。
我只想要一个带有不刷新/重新加载屏幕的下拉框的表单。 将所选内容另存为 SESSION,并根据刚刚设置的会话"选择"或突出显示下拉选项。
所以简而言之...- 客户端选择选项(必须使用 onchange 事件而不是单击提交)- 使用jQuery/AJAX这有助于防止页面重新加载(对吗?- 下拉选项是"记住"的,因为它使用会话来比较和"选择"它。- 也能够在同一页面上回显/打印会话。
我将在订购表单的多个步骤中使用这个简单示例,该表单使用复选框、收音机、输入框和下拉菜单。
如果有人知道使用下拉框的简单示例,那将让我开始。
我之前的尝试只会使用下拉列表的第一个或最后一个而不是所选的会话来设置会话。
我过去做类似事情的方式是让一个用户会话(作为后端的类)在每次页面加载时被初始化。 这样我就可以保存上述变量。
但这也允许您在后台有一个对象数组,这些对象从此用户类生成,并可用于替换其他项目。
1)对于简单页面,您需要构建一个控件,该控件读取数组会话选择框的默认值。
2)编写一个非常简单的PHP页面来处理更改值(im假设您仅将其存储到会话而不是数据库)
<?php
session_start();
$client = $_GET['cc'];
$_SESSION['package']['overrideClient'] = $client;
echo $_SESSION['package']['overrideClient'];
?>
3)将更改绑定到下拉列表 变量变化= { changeValue : function(obj){ var val = $(obj).val(); $.ajax({ 网址:"路径.php?页面="+值, 成功:函数(){ 在这里做点什么 }});}};
4)现在这个项目在会话中,任何其他页面都可以使用 $_SESSION['package']['overrideClient'] 动态调用; 或者通过使用会话包初始化类来为用户构建更复杂的处理。
这应该会让你指向正确的方向:)