我有一个问题,我正在做一个简单的表单验证,需要一些验证插件无法为我做的自定义内容。

$("#contactMe form").submit(function() {
    var email = $('.requiredEmail').val();
    if(email != 0)  {
        if(isValidEmailAddress(email))  {
            $('.requiredText').each(function() {
                thisVal = $(this).val();
                var $this = $(this);
                if(thisVal != 0) {
                    console.log('Valid Field: '+thisVal);
                    if ($(this) == $(this).parent(':last')) {
                        console.log('Last field, submit form here');
                    }
                }
            });
        } else {
            console.log('Email Not Valid');
        }
    } 
    return false;
});

只是为了解释一下,我首先通过 isValidEmailAddress 函数检查电子邮件地址是否有效,该函数正在运行。

if ($(this) == $(this).parent(':last')) {我所拥有的显然是不正确的,但我不确定可以用什么来检查它是否是每个结果集中的最后一个,如果为真则执行操作。

有人可以帮我吗?

提前致谢。

答案

each传递到你的函数中indexelementindex对照集合的长度,你就可以开始了:

var set = $('.requiredText');
var length = set.length;
set.each(function(index, element) {
      thisVal = $(this).val();
      if(parseInt(thisVal) !== 0) {
          console.log('Valid Field: ' + thisVal);
          if (index === (length - 1)) {
              console.log('Last field, submit form here');
          }
      }
});

来自: stackoverflow.com