The $(this).val() in the second method returns the same value that I get in the first method. I expected to get the first value of the fields with the secondGroup class. What am I doing wrong?
$(document).ready(function(){
jQuery.validator.addMethod("method1", function(value, element, options) {
.....some code here....
var elems = $(element).parents('form').find(options[0]);
jQuery.each(elems, function(){
thisVal = $(this).val();
});
.....some code here......
}, jQuery.format("some message."));
jQuery.validator.addMethod("method2", function(value, element, options) {
.....some code here....
var elems = $(element).parents('form').find(options[0]);
jQuery.each(elems, function(){
thisVal = $(this).val();
});
.....some code here......
}, jQuery.format("some message."));
$("#formName").validate({
rules: {
firstMethod1:{
method1: ['.firstGroup']
},
secondMethod1:{
method1: ['.firstGroup']
},
thirdMethod1:{
method1: ['.firstGroup']
},
firstMethod2:{
method2: ['.secondGroup']
},
secondMethod2:{
method2: ['.secondGroup']
},
thirdMethod2:{
method2: ['.secondGroup']
}
}
});
});
You are using
jQuery.each()instead of.each().Use: