var formRules  = $(this).data('rules');
var formValues = $(this).data('values');

    if(formRules || formValues){
        var rulesArray = formRules.split(',');
        var valuesArray = formValues.split(',');
        for(var i=0; i < rulesArray.length; i++){
            //alert(rulesArray[i]);
            $.validationEngine.defaults.rulesArray[i] = valuesArray[i];
        }
    }
    else{
        return false;
    }


这将引发如下错误

Error: TypeError: $.validationEngine.defaults.rulesArray is undefined
Source File: http://localhost:8380/javascript/jquery.validationEngine.js
Line: 2092


我找不到此代码的问题。欢迎任何帮助

编辑:

我正在尝试使用for循环设置全局选项eg:scroll
formRules字符串将这些选项用逗号分隔,并且formValues字符串中的相应值。

所以我希望它会像$.validationEngine.defaults.scroll = true;

最佳答案

改变这条线

 $.validationEngine.defaults.rulesArray[i] = valuesArray[i];


对此

 $.validationEngine.defaults[rulesArray[i]] = valuesArray[i];


rulesArray不是$ .validationEngine.defaults的子级。存储在rulesArray中的值是。我的第二个代码块中的语法正确地引用了所有内容。

这称为“括号表示法”,这是一种使用任何类型的有效计算(例如rulesArray [i]或“ myStringPropertyName”)获取对象属性的方法。有关其他方法,请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Member_Operators

10-08 00:01