以下代码:
// also tried function getDeletedDates()
var getDeletedDates = function()
{
var s = new Array();
$(".deleted").each(function(i, e) {
s.push($(e).attr("data-day"));
});
};
$(function()
{
$("#delete_send").click(function() {
alert("drin");
$.ajax({
url: "delete.php",
type: "POST",
data: ({deleteDates : getDeletedDates()}),
dataType: "json",
success: function(msg){
alert(msg);
},
beforeSend: function(){
alert("Lösche folgende Urlaubstage: "+ getDeletedDates().join(", "));
},
error: function(x, s, e) {
alert("Fehler: " + s);
}
}
);
});
});
但我进入beforeSend
()他总是说“getDeletedDates
()undefined”
为什么这样,我在全球范围内声明了这个功能?
提前感谢。
答案 0 :(得分:5)
您的函数不返回任何内容,因此结果将不确定。更改方法以返回数组。
<强>更新强>:
执行getDeletedDates()
时,由于缺少返回结果,因此将其评估为未定义。这就是getDeletedDates() is undefined
是错误消息的原因。
答案 1 :(得分:2)
您正在调用您的函数,但该函数被定义为变量/指针并且不返回任何内容。以下修改应该有效(未经测试):
function getDeletedDates()
{
var s = new Array();
$(".deleted").each(function(i, e) {
s.push($(e).attr("data-day"));
});
return s;
};