JQuery:获取至少填充了一个输入(textfield)的表单

时间:2018-01-02 12:10:07

标签: javascript jquery

无法弄清楚为什么我的方法不起作用。

我有一组表单,我只想显示至少填充了一个输入的表单。每个表单有3个文本输入。

       $('.odovzdavajuci_form').each(function (i) {
            if ($(this).find('input[value!=""]').length>0){
                console.log($(this).find('input[value!=""]').length)
                $(this).show();
            }
        });

问题是它显示了所有表单,包括那些填充为零的表单。每个表单的控制台记录3号。

1 个答案:

答案 0 :(得分:2)

您应该使用.filter()方法

  

将匹配元素集合减少到与选择器匹配的元素或通过函数测试。

$('.odovzdavajuci_form').filter(function (i) {
    return $(this).find('input').filter(function () {
        return $(this).val().trim().length > 0
    }).length > 0
}).show();