我正在尝试将从下拉列表中获得的值保存到PHP变量中。我目前可以这样做,但可以通过另一个页面进行。但是,我想做的不仅仅是回显变量,还想将其用作同一页面上我的一个PHP函数的参数。
我尝试了其他在网上找到的解决方案,但是所有解决方案都有一个“提交”按钮,我不希望这样做。我只希望变量在选择下拉值后立即在同一页面上更改。
我还尝试用当前页面“ Month.php”替换“ ClientAjax.php”,但得到的只是“ #result” div中的同一页面。
下拉菜单:(Month.php)
用于用数据库中的值填充我的下拉菜单。
<select id="clientselect">
<option selected>ALL</option>
<?php echo getClients(); ?>
</select>
<div id="result"></div>
AJAX:(Month.php)
我发布了两次,因为我需要在刷新后立即显示默认的选定值。
<script>
$(function(){
var displayclient=$("#clientselect option:selected").text();
$.post('ClientAjax.php',{postclient:displayclient},
function(data){
$("#result").html(data)
});
$("#clientselect").change(function (){
var displayclient=$("#clientselect option:selected").text();
$.post('ClientAjax.php',{postclient:displayclient},
function(data){
$("#result").html(data)
});
})
})
</script>
ClientAjax.php
<?php
$client = $_POST['postclient'];
?>
答案 0 :(得分:0)
在使用$ _SESSION变量之前,需要启动会话。使用PHP命令“ session_start()”执行此操作,最有可能在将使用$ _SESSION变量的页面上。确保将命令放在PHP块的最顶部。
然后,在您的AJAX php脚本中,需要在设置变量值之后放置此命令。 $ _SESSION [“ var_name”] = $ variable;
然后在使用该变量的函数中,只需将您现在正在使用的任何变量替换为$ _SESSION [“ var_name”]。
这仅在您在AJAX调用后的某个时间提交后才起作用。您提交之前,页面上的PHP函数将不会再次运行。也许这种方法不适合您?
如果需要更多帮助,请发回邮件, CharlesEF