【问题标题】:Jquery count all empty fieldsJquery计算所有空字段
【发布时间】:2015-10-08 20:22:47
【问题描述】:

jquery 中是否有办法计算表单中所有空输入和文本区域,适用于以下类型

复选框, 日期, 约会时间, 电子邮件, 月, 数字, 收音机, 电话, 文字

因为每个表单都有一个 js 变量 maxInput。 如果 maxInput 为 6(表单有 6 个输入) 然后,如果您计算输入并且它是 6,我知道所有输入都已填充。 有谁知道如何完成这个。

【问题讨论】:

    标签: jquery html-input


    【解决方案1】:

    假设所有inputs 都有一个名为:yourClass 的类,那么这可能会对您有所帮助:

    $('.yourClass').filter(function(){
    return !$(this).val();
    }).length;
    

    【讨论】:

    • 这也算收音机和选择框吗?
    • 选择,是的——复选框和收音机不太可能。还要记住,如果字段中的值为数字 0,这将返回误报。
    • $( 'input[type=radio]' ) 将获取所有单选按钮。
    • 找出有多少单选按钮组未选中比这更困难。
    【解决方案2】:

    这应该适用于您指定的输入的可变/动态数量,给定一个带有“test-form”类的表单。只要确保您在选择的默认选项上设置了 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);
    

    这是小提琴:https://jsfiddle.net/qLedcr82/1/

    顺便说一句,最好的做法是为单选按钮组设置默认值,这会使解决方案的这一部分变得无用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 2011-08-29
      • 2018-06-20
      • 1970-01-01
      • 2021-08-30
      相关资源
      最近更新 更多