0

我正在尝试将动态创建的下拉菜单中的选择/值传递给 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;
}

谢谢!

4

3 回答 3

2

尝试这个:

$('#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'>

于 2012-04-26T16:49:54.823 回答
2

不要忘记添加

session_start()

在 PHP 文件的顶部。而已。

于 2012-04-26T16:50:50.453 回答
0

尝试:

$('#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;
}

如果一切按计划进行,您应该有一个警报框,其中包含您在选择框中选择的值,并将其显示在会话数组中。搏一搏。

于 2012-04-26T16:51:22.183 回答