标题使这看起来很简单,我试着用Google搜索,但我甚至不确定如何说出我正在尝试做的事情。
我有一组看起来像这样的字段
<tr>
<td><strong>File Label:</strong></td>
<td><input type="text" name="label[]" id="label" class="label" /></td>
<td><strong>Student File (pdf):</strong></td>
<td><input type="file" name="file[]" id="file" class="file" /></td>
</tr>
<tr>
<td><strong>File Label:</strong></td>
<td><input type="text" name="label[]" id="label" class="label" /></td>
<td><strong>Student File (pdf):</strong></td>
<td><input type="file" name="file[]" id="file" class="file" /></td>
</tr>
<tr>
<td><strong>File Label:</strong></td>
<td><input type="text" name="label[]" id="label" class="label" /></td>
<td><strong>Student File (pdf):</strong></td>
<td><input type="file" name="file[]" id="file" class="file" /></td>
</tr>
如您所见,label[]
和file[]
重复。
在允许表单提交之前,如何使用jQuery确保至少1 label
和1 file
不为空/ null。
我试过了,但失败了
$('.label').each(function(){
if($(this).val() == '')
{
alert('Stop Form');
}
else
{
alert('Submit Form');
}
});
答案 0 :(得分:0)
您可以使用
$('[name="label[]"]').filter(function(){ return $(this).val() }).length >0
如果你想检查几个名字/文件(即在同一个tr中),那么你可以做
var notEmptyTr = $('tr').filter(function(){
return $('[name="label[]"]', this).val() && $('[name="file[]"]', this).val()
});
然后检查notEmptyTr.length>0
。