Javascript 使用变量数组创建jQuery模糊事件

Javascript 使用变量数组创建jQuery模糊事件,javascript,validation,multidimensional-array,jquery,Javascript,Validation,Multidimensional Array,Jquery,我有一个表单字段ID的多维数组,以及它们的错误检查类型。我想在每个错误字段中添加一个模糊事件,这样当用户离开它转到下一个字段时,它将确保该字段有效 我创建了一个带有模糊事件创建和警报的for循环,以确保为该字段创建模糊。警报告诉所有字段都添加了验证,但是当我在页面上测试它时,无论我离开哪个字段,blur事件都只验证数组中的最后一个字段 下面是函数 function SetErrorFields(fields) { var ErrorFields = fields; for (F

我有一个表单字段ID的多维数组,以及它们的错误检查类型。我想在每个错误字段中添加一个模糊事件,这样当用户离开它转到下一个字段时,它将确保该字段有效

我创建了一个带有模糊事件创建和警报的for循环,以确保为该字段创建模糊。警报告诉所有字段都添加了验证,但是当我在页面上测试它时,无论我离开哪个字段,blur事件都只验证数组中的最后一个字段

下面是函数

function SetErrorFields(fields) {
    var ErrorFields = fields;

    for (Field in ErrorFields) {
        alert("Field: "+ErrorFields[Field][0]+" | Validations: "+ErrorFields[Field][1]);
        $('#'+ErrorFields[Field][0]).blur(function(){
            Validate(ErrorFields[Field][0],ErrorFields[Field][1]);
        });
    }

}
我尝试过改变一些事情,但要么没有任何效果,要么事情变得更糟。下面是我尝试的内容和结果的列表

将ErrorFields[Field][0]更改为Field[0],但这会将警报中的所有内容更改为“undefined”

当离开该字段时,使用以下代码将抛出“x未定义”错误

for (x=0; x<ErrorFields.length; x++) {
    alert("Field: "+ErrorFields[x][0]+" | Validations: "+ErrorFields[x][1]);
    $('#'+ErrorFields[x][0]).blur(function(){
        Validate(ErrorFields[x][0],ErrorFields[x][1]);
    });
}

for(x=0;x有一个名为eventData的有用参数。它允许您在声明事件时向事件发送数据。下面的方法有效

function SetErrorFields(fields) {
    ErrorFields = fields;
    for (Field in ErrorFields) {
        alert(ErrorFields[Field][0]+" | "+ErrorFields[Field][1]+" | "+$('#'+ErrorFields[Field][0]).val());
        $('#'+ErrorFields[Field][0]).blur({fld: ErrorFields[Field][0], err: ErrorFields[Field][1]}, function(event){
            Validate(event.data.fld,event.data.err);
        });
    }

}

有关它的作用的更深入的解释。

在我发布一个问题后,我发现了一个解决方案,这一点让我一直感到有趣。我很快就会发布。