1

我正在尝试使用 php 打印日历,但很难弄清楚如何更改使用 ajax 显示的月份

我在标签中有两个按钮,其值分别为“+1”和“-1”,class="selectMonth"

<button class="selectMonth" name="selectMonth" value="-1">previous</button>
<button class="selectMonth" name="selectMonth" value="+1">next</button>

这是我的ajax代码:

$(".selectMonth").on("click", function(){
        $.ajax({
            url : "index.php",
            type : "POST",
            data : {selectMonth : this.value},
            success : function(){
                alert("success!");
            }

        });

    }); 

在我的 index.php 中我有

    <?php 
if(!isset($_POST["selectMonth"]))
    $_SESSION["date"] = time();
else
{
    $selectMonth = $_POST["selectMonth"];
    $_SESSION["date"] = strtotime($selectMonth . 'month');
}
var_dump($_POST["selectMonth"]);

$date = $_SESSION["date"];
print_calendar($date);

?>

单击其中一个按钮后,我可以收到警报消息,但不会收到 $_POST 变量,并且 var_dump 始终为 NULL

有人能帮我找出错误吗?我还在学习ajax。

非常感谢!

4

3 回答 3

1

尝试

$(".selectMonth").on("click", function(){
    var inputVal = $(this).attr('value');
    $.ajax({
        url : "index.php",
        type : "POST",
        data : {selectMonth : inputVal},
        success : function(){
            alert("success!");
        }

    });

}); 
于 2013-11-12T13:13:30.600 回答
1

试试下面的代码行:

data : {'selectMonth' : $(this).val()},

或者

data : {'selectMonth' : $(this).attr('value')},
于 2013-11-12T13:15:19.260 回答
0

代替

data : {selectMonth : this.value}

尝试

data : {selectMonth : this.val()}
于 2013-11-12T13:11:20.920 回答