基本表单验证:为什么我的课程被添加或删除?

时间:2017-08-07 13:28:34

标签: javascript jquery

我试图在默认情况下禁用某个按钮,并且只有在用户填写了标有类的字段后才会激活该按钮。

这里是jsFiddle:https://jsfiddle.net/co3d5phy/2/

我的jQuery看起来像这样:

function checkForAnswers() {
  var count = $('.pdf-checklist-17012[value!=""]').length;
  var total = $('.pdf-checklist-17012').length;

  if (count == total) {
    $('.pdf-17012').removeClass('disabled');
    $('.pdf-17012').removeAttr('disabled');
  } else {
    $('.pdf-17012').addClass('disabled');
    $('.pdf-17012').attr('disabled', 'disabled');
  }
  console.log(count + '/' + total);
}

checkForAnswers();
$('.pdf-checklist-17012').on('keyup', checkForAnswers);

jsFiddle看起来不起作用,当我查看Chrome时控制台的实时日志0/5,无论完成了多少字段。我错过了什么?

1 个答案:

答案 0 :(得分:2)

您正在寻找不会改变的值html属性。 您可以通过以下方式解决这个问题:

var count = $('.pdf-checklist-17012').filter(function(){
    return $(this).val() !== "";
}).length;