无法弄清楚为什么我的方法不起作用。
我有一组表单,我只想显示至少填充了一个输入的表单。每个表单有3个文本输入。
$('.odovzdavajuci_form').each(function (i) {
if ($(this).find('input[value!=""]').length>0){
console.log($(this).find('input[value!=""]').length)
$(this).show();
}
});
问题是它显示了所有表单,包括那些填充为零的表单。每个表单的控制台记录3号。
答案 0 :(得分:2)
您应该使用.filter()
方法
将匹配元素集合减少到与选择器匹配的元素或通过函数测试。
$('.odovzdavajuci_form').filter(function (i) {
return $(this).find('input').filter(function () {
return $(this).val().trim().length > 0
}).length > 0
}).show();