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;
答案 0 :(得分:2)
更改此行
$.validationEngine.defaults.rulesArray[i] = valuesArray[i];
到这个
$.validationEngine.defaults[rulesArray[i]] = valuesArray[i];
rulesArray不是$ .validationEngine.defaults的子节点。存储在rulesArray中的值是。我的第二个代码块中的语法正确引用了所有内容。
这称为 Bracket Notation ,一种使用任何有效计算(如rulesArray [i]或“myStringPropertyName”)获取对象属性的方法。有关其他方法,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Member_Operators。