Jquery如果类中的任何元素满足条件

时间:2015-04-29 06:44:08

标签: javascript jquery html class foreach

我想检查一个类中的任何元素是否满足某些条件。 例。

$(document).on('click','.modalInner_form_nav', function(){
  var input = $(this).parents('.modalInner_form').find('.validate_g'); 
  //$(input).each(function(index, element) {
    if ($(input).val() == ''){
        $(input).css('border', '#BB0000 1px solid');
        return false;
    } 
    else {
      /////////go to next///////////
      if ($(this).parents('.modalInner_form').is(':last-child')){

      } 
      else {
        $(this).parents('.modalInner_form').slideUp();
        $(this).parents('.modalInner_form').next('.modalInner_form').slideDown();
      }         
                ////////////
    }
});

如果所有输入字段都为空,则返回false,但如果此类中的一个不为空,则返回true。

2 个答案:

答案 0 :(得分:1)

问题是你有内在功能所以

$(document).on('click', '.modalInner_form_nav', function () {
    var $form = $(this).parents('.modalInner_form');
    var $input = $form.find('.validate_g');

    var valid = true;
    $input.each(function (index, element) {
        var $this = $(this)
        if ($this.val() == '') {
            valid = false;
            $this.css('border', '#BB0000 1px solid');
        }
    });

    if (valid) {
        if ($form.is(':last-child')) {
            //do something else
        } else {
            $form.slideUp();
            $form.next('.modalInner_form').slideDown();
        }

    }
});

答案 1 :(得分:0)

不确定您的问题是什么,但这是一种改进代码的方法。

$(this).parents('.modalInner_form')保存在变量中,而不是不断重复同一行代码。然后你可以用变量替换所有这些方法调用,只需在变量上调用你想要的任何函数。

var varName = $(this).parents('.modalInner_form');
varName.find('.validate_g');
...
if(varName.is(':last-child')){
...