为什么$(this).val()在第二个方法中给我第一个方法的值

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

本文关键字:方法 第一个 第二个 this val 为什么      更新时间:2023-09-26

第二个方法中的$(this).val()返回的值与我在第一个方法中得到的值相同。我希望用secondGroup类获得字段的第一个值。我做错了什么?

$(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']
   }
   }
 });
});

您使用的是jQuery.each()而不是.each()

用途:

elems.each(function(){ 
    thisVal = $(this).val(); 
});