我已经有几个$.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);
});
});
因为在DOM加载后输入了td
元素,所以我有.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>
如果还有其他您想看到的内容,请告诉我。
答案 0 :(得分:0)
终于明白了。您在对象文字中有一个虚假的分号,导致语法错误:
$.post("classinfo.php", {
id: $("td").attr("value"); // <-- There.
}, // ...
该代码应为:
$.post("classinfo.php", {
id: $("td").attr("value")
}, // ...
将来,请记住查阅浏览器的错误控制台,以便立即发现此类问题。