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。