我正在尝试从动态创建的下拉菜单中传递一个选择/值到 php 文件并将其存储在会话变量中,但 php 没有得到任何参数。这是我在 Jquery 文件中的代码:
$('#fgdesignation').change(function ()
{
var project =$("#fgdesignation option::selected").text();
var url='backend.php';
// alert(project);
$.post(url, {fgdname : project});
});
这是 PHP 文件:
if(isset($_POST['fgdname'])) {
$fgdname= $_POST['fgdname'];
$_SESSION['fgdname']=$fgdname;
}
谢谢!
不要忘记添加
session_start()
在 PHP 文件的顶部。就是这样。
试试这个:
$('#fgdesignation').change(function () {
var project = $("#fgdesignation").filter(':selected').val();
var url = 'backend.php';
// alert(project);
$.post(url, {
fgdname: project
});
});
随便说一下,我看到你使用的是.text()
而不是.val()
取消注释您的alert()
,看看是否有返回的值
编辑我$("#fgdesignation").filter(':selected').val();
假设:<select id="fgdesignation'>
.
尝试:
$('#fgdesignation').change(function ()
{
var project =$("#fgdesignation option:selected").val();
var url='backend.php';
// alert(project);
$.post(url, {fgdname : project}, function(response){alert(response);});
});
您使用的是.text()
而不是 .val()
,后者返回当前所选选项的值,并在只需要一个选项时将"::"作为选择器。
在您的 PHP 文件中:
session_start(); // Important if you're not already doing it!
if(isset($_POST['fgdname'])) {
$fgdname= $_POST['fgdname'];
$_SESSION['fgdname']=$fgdname;
echo $fgdname;
}
如果一切按计划进行,您应该有一个警报框,其中包含您在选择框中选择的值,并将其显示在会话数组中。试一试。