0

我相信这个问题会涉及到 AJAX、jQuery、PHP 和会话。我已经尝试了几天,但无法破解这个。多次散步后重新开始。

我只是想要一个带有不刷新/重新加载屏幕的下拉框的表单。将选择保存为 SESSION 并根据他们刚刚设置的会话“选择”或突出显示下拉选项。

所以简而言之... - 客户端选择选项(必须使用 onchange 事件而不是单击提交) - 使用 jQuery / AJAX 这有助于防止页面重新加载(正确吗?) - 下拉选择是“记住的”,因为它使用会话进行比较并“选择”它。- 还能够在同一页面上回显/打印会话。

我将在使用复选框、收音机、输入框和下拉菜单的订购表单的多个步骤中使用这个简单的示例。

如果有人知道使用下拉框的简单示例,那会让我开始。

我之前的尝试只会使用下拉列表的第一个或最后一个而不是选择的一个来设置会话。

4

1 回答 1

0

我过去做类似事情的方式是让用户会话(作为后端的一个类)在每次页面加载时都被初始化。这样我可以保存上述变量。

但这也允许您在后台拥有一个从该用户类产生的对象数组,并可用于替换其他项目。

1)对于简单页面,您需要构建一个控件,该控件读取数组会话中选择框的默认值。

2)编写一个非常简单的PHP页面来处理更改值(我假设你只是将它存储到会话而不是数据库)

<?php
session_start();
$client = $_GET['cc'];
$_SESSION['package']['overrideClient'] = $client; 
echo $_SESSION['package']['overrideClient'];
?>

3)绑定更改到您的下拉 var change= { changeValue : function(obj){ var val = $(obj).val(); $.ajax({ url:"path.php?Page="+val, success:function(){ //在这里做点什么 }});}};

4)现在这个项目在会话中,任何其他页面都可以使用 $_SESSION['package']['overrideClient'] 动态调用;或者通过使用会话包初始化一个类来为用户构建更复杂的处理。

这应该让你指出正确的方向:)

于 2012-06-03T21:37:48.653 回答