我正在尝试默认情况下禁用按钮,并且仅当用户填写了标有类的字段后,该按钮才变为活动状态。
这是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
。我想念什么? 最佳答案
您正在寻找不会改变的html属性值。
您可以使用以下方式解决此问题:
var count = $('.pdf-checklist-17012').filter(function(){
return $(this).val() !== "";
}).length;