找不到JQuery函数

时间:2010-07-21 06:54:17

标签: javascript jquery

以下代码:

// 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” 为什么这样,我在全球范围内声明了这个功能?

提前感谢。

2 个答案:

答案 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;
};