Jquery 验证具有相同类名的两个输入

Jquery 验证具有相同类名的两个输入,jquery,Jquery,我需要验证两个文本字段的空值,在我的页面中尝试了这段Jquery $('#div1').hide(); $('#btn1').click(function(){ $('.class1').each (function() { if($(this).val() == "") { $('#div1').show(); }else { $('#div1').hide(); } });

我需要验证两个文本字段的空值,在我的页面中尝试了这段Jquery

    $('#div1').hide();

    $('#btn1').click(function(){

    $('.class1').each (function() {

        if($(this).val() == "") {

        $('#div1').show();
        }else {
        $('#div1').hide();
        }
    });  

它仅验证第一个文本字段。有什么帮助吗?

事实上,只要选择中的任何元素有
val()
,代码就应该显示#div1。我不确定这是您想要的,也许您想为每个输入元素显示不同的

函数的回调将获得两个参数,
index
——数组中元素的索引,以及
element
——数组中的元素。您可以使用它来区分正在验证的元素:

$('.class1').each (function(index, element) {
    if($(this).val() == "") {
        $('#div' + index).show();
    }else {
        $('#div' + index).hide();
    }
});  
请参见演示


不过,这确实是一个不干净的编程。您可能想试试优秀的编程方法。

我认为您应该遵循以下方法

$('#div1').hide();
    $('#btn1').click(function() {
        $('.class1').each(function() {
            $('#div1').hide();
            if ($(this).val() == "") {
                $('#div1').show();
                return false;
            }
        });
    });
根据您的代码,我猜只对最后一次输入进行了验证


什么是
$('.class1').length
相等?我只需要显示一个div和两个文本字段。最初,我的div将处于隐藏状态,在检查值==“”时,我需要显示。谢谢分享。。。