【问题标题】:jQuery function returns undefined on callback [duplicate]jQuery函数在回调中返回未定义[重复]
【发布时间】:2014-10-26 17:24:18
【问题描述】:

我整理了一个使用干净框架的小 javascript 文件,格式如下:

var functionLibrary = {

    validateFields:function(inputArray, result) {
        $.each(inputArray, function(index, listItem) {
            if (!$.trim($("#" + listItem).val()).length) {
                return "empty";
            }   
        });
    }

}

这是我将数据传递给此类函数并在验证响应时获得undefined

var Validation = functionLibrary.validateFields(['amount', 'ppemail']);
console.log(Validation);

为什么当这个函数应该返回empty时,控制台日志中却显示undefined

【问题讨论】:

  • validateFields 没有返回任何东西...每个回调都返回值
  • each 没有返回 validateFields。尝试在validateFields 的末尾添加一个console.log,以检查该函数是否还没有返回“空”。

标签: javascript jquery


【解决方案1】:

您没有从 validateFields 方法返回任何内容...

var functionLibrary = {

    validateFields: function (inputArray, result) {
        var value;
        $.each(inputArray, function (index, listItem) {
            if (!$.trim($("#" + listItem).val()).length) {
                //set the validity status
                value = "empty";
                //stop further execution of the loop
                return false;
            }
        });
        //return the value from validateFields
        return value;
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 2013-03-08
    相关资源
    最近更新 更多