Jquery 计算所有空字段
Jquery count all empty fields
在jquery中有没有一种方法可以计算表单中所有空的输入和文本区域,对于以下类型
复选框,
日期,
约会时间,
电子邮件,
月,
数字,
收音机,
电话,
文字
因为每个表单都有一个js变量maxInput。
如果 maxInput 为 6(表单有 6 个输入)
然后如果你计算输入并且它是 6 我知道所有都已填满。
有谁知道如何完成这个。
假设所有 inputs
都有一个 class 命名为:yourClass
那么这可能对您有帮助:
$('.yourClass').filter(function(){
return !$(this).val();
}).length;
给定 class 'test-form' 的表单,这应该适用于您指定的 variable/dynamic 个输入。只需确保在您选择的默认选项上设置 value="" 即可。检查单选按钮组是否未选中有点棘手:
var emptyTextCheckboxAndSelect = $('.test-form input, .test-form select').filter(function(){
if($(this).attr('type') === "radio"){
return false;//we'll check for empty radio groups elsewhere
}
if($(this).attr('type') === "checkbox"){
return !$(this).prop("checked");
}
return !$(this).val();//this only works for select if default option explicitly sets value=""
}).length;
var radioNameHash = {},
uncheckedRadioButtonGroups = 0;
$('.test-form input[type="radio"]').each(function(i, radioButton){
if(radioNameHash[$(this).attr('name')] === undefined){
uncheckedRadioButtonGroups++;
radioNameHash[$(this).attr('name')] = true;
}
if($(this).prop("checked") === true){
uncheckedRadioButtonGroups--;
}
});
var totalUnfilledFields = emptyTextCheckboxAndSelect + uncheckedRadioButtonGroups;
alert(totalUnfilledFields);
这是 fiddle:https://jsfiddle.net/qLedcr82/1/
顺便说一句,为单选按钮组设置默认值通常是最佳做法,这会使该部分解决方案变得无用。
在jquery中有没有一种方法可以计算表单中所有空的输入和文本区域,对于以下类型
复选框, 日期, 约会时间, 电子邮件, 月, 数字, 收音机, 电话, 文字
因为每个表单都有一个js变量maxInput。 如果 maxInput 为 6(表单有 6 个输入) 然后如果你计算输入并且它是 6 我知道所有都已填满。 有谁知道如何完成这个。
假设所有 inputs
都有一个 class 命名为:yourClass
那么这可能对您有帮助:
$('.yourClass').filter(function(){
return !$(this).val();
}).length;
给定 class 'test-form' 的表单,这应该适用于您指定的 variable/dynamic 个输入。只需确保在您选择的默认选项上设置 value="" 即可。检查单选按钮组是否未选中有点棘手:
var emptyTextCheckboxAndSelect = $('.test-form input, .test-form select').filter(function(){
if($(this).attr('type') === "radio"){
return false;//we'll check for empty radio groups elsewhere
}
if($(this).attr('type') === "checkbox"){
return !$(this).prop("checked");
}
return !$(this).val();//this only works for select if default option explicitly sets value=""
}).length;
var radioNameHash = {},
uncheckedRadioButtonGroups = 0;
$('.test-form input[type="radio"]').each(function(i, radioButton){
if(radioNameHash[$(this).attr('name')] === undefined){
uncheckedRadioButtonGroups++;
radioNameHash[$(this).attr('name')] = true;
}
if($(this).prop("checked") === true){
uncheckedRadioButtonGroups--;
}
});
var totalUnfilledFields = emptyTextCheckboxAndSelect + uncheckedRadioButtonGroups;
alert(totalUnfilledFields);
这是 fiddle:https://jsfiddle.net/qLedcr82/1/
顺便说一句,为单选按钮组设置默认值通常是最佳做法,这会使该部分解决方案变得无用。