1

我的文件中已经有几个$.post正在工作。我正在尝试发送的当前是:

$("#rbody").on("mouseenter", ".date, .quarter", function(e) {
    $.post("classinfo.php",
        {
            id: $("td").attr("value");
        },
        function(data) {
            $("#classinfo").html(data);
     });
});

td数据是通过另一个 AJAX 调用输入的:

$(".rselector").change(function() {
    $.post("reservation.php",
        {
            reserve: $("#result").val();
        },
        function(data) {
            $("#rinfo").html(data);
     });
});

因为td元素是在 DOM 加载后输入的,所以我有 .on 函数。在.on("mouseenter", ...)我添加$.post. 不$.post工作.on?我到处寻找,但找不到任何解决该问题的文档。我什至复制了以前的 AJAX 调用的代码,并且只是更改了相应的字段,但是当我尝试添加$.post.

编辑:

这是中断之前的代码:

<script>
$(document).ready(function() {
var moveLeft = 20;
var moveDown = 10;

    $("#rbody").on("mouseenter", ".date, .quarter", function(e) {
        $("#classinfo").show()
        .css("top", e.pageY + moveDown)
        .css("left", e.pageX + moveLeft)
        .appendTo("body");
    }).on("mouseleave", ".date, .quarter", function() {
        $("#classinfo").hide();
    });

    $("#rbody").on("mousemove", ".date, .quarter", function(e) {
        $("#classinfo").css("top", e.pageY + moveDown).css("left", e.pageX + moveLeft);
    });
});
</script>

此添加破坏了整个脚本:

<script>
$(document).ready(function() {
var moveLeft = 20;
var moveDown = 10;

    $("#rbody").on("mouseenter", ".date, .quarter", function(e) {
        $.post("classinfo.php",
            {
                id: $("td").attr("value");
            },
            function(data) {
                $("#classinfo").html(data);
        });
        $("#classinfo").show()
        .css("top", e.pageY + moveDown)
        .css("left", e.pageX + moveLeft)
        .appendTo("body");
    }).on("mouseleave", ".date, .quarter", function() {
        $("#classinfo").hide();
    });

    $("#rbody").on("mousemove", ".date, .quarter", function(e) {
        $("#classinfo").css("top", e.pageY + moveDown).css("left", e.pageX + moveLeft);
    });
});
</script>

如果你还有什么想看的,请告诉我。

4

1 回答 1

0

终于明白了。您在导致语法错误的对象文字中有一个虚假的分号:

$.post("classinfo.php", {
    id: $("td").attr("value");  // <-- There.
}, // ...

该代码应该是:

$.post("classinfo.php", {
    id: $("td").attr("value")
}, // ...

以后,请记得查看浏览器的错误控制台,以便立即发现此类问题。

于 2013-11-01T00:15:48.793 回答