2011-06-13 21 views
5

第二种方法中的$(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'] 
    } 

    } 
}); 

}); 
+2

不'变种elems的= $(元素)。家长( '形式')找到(选项[0]);',每次,只是环找到相同的形式通过相同的值,每次输出相同的值? – bh88 2011-06-13 18:12:58

+0

选项[0]对于每种方法都不相同。它具有'.firstGroup'或'.secondGroup'的值。 – coder 2011-06-13 18:58:55

+1

做一个jsFiddle,请用最简单的例子造成问题 – kwicher 2011-06-13 19:11:22

回答

2

您正在使用jQuery.each()代替.each()

用途:

elems.each(function(){ 
    thisVal = $(this).val(); 
}); 
相关问题