Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is $(this).val() giving me the value from this first method in this second method?

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']
   }

   }
 });

});
like image 407
coder Avatar asked Jun 13 '11 17:06

coder


1 Answers

You are using jQuery.each() instead of .each().

Use:

elems.each(function(){ 
    thisVal = $(this).val(); 
});
like image 126
Ethan Cabiac Avatar answered Sep 28 '22 01:09

Ethan Cabiac