如果类存在则禁用按钮否则删除禁用

时间:2013-10-15 13:16:58

标签: jquery

我正在尝试运行验证('keyup')而不是on('blur')。如果所有字段都不验证,目标是阻止前进。它的工作方式,所有父div都有一个类.item和“当前工作jquery”也有一个类.bad,如果没有找到它会启用下一个按钮。请参阅以下代码:

当前正在运行的jQuery:

    $('input[required]').change(function(){
       var v = this.value;
       $(this).closest('div.item')[$.trim(v).length !== 0 ? 'addClass' : 'removeClass']('bad');
       $('input[type="button"].next').prop('disabled', function(){
           return $(this).closest('fieldset').find('div.bad').length > 0;
       });
   }).change();

现在我正在尝试为每个字段集设置一个特定的函数,以返回特定数量的类true,然后激活。因此,如果存在“4”类“div.good”,则从“.next”中删除Att('disabled')

    <!-- when page loads -->
    <div class="item"><input required></div>

    <!-- if it doesn't validate -->
    <div class="item bad">
      <input required>
      <div class="alert">why it isn't validating</div>
    </div>

    <!--  and if it does validate it changes to -->
    <div class="item good"><input required></div>

逻辑和概念 - 执行不力 - jquery

($("fieldset.first").children().find('.good')[4]){ //should I use .length !== 4?
  $('.next').removeAttr('disabled');
}else{
  $('.next').attr('disabled', true);
} 

1 个答案:

答案 0 :(得分:1)

尝试

$('.next').prop('disabled', $('div.item').has('.alert').length > 0);