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

时间:2012-08-21 11:02:40

标签: jquery

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

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

实际上,只要选区中的任何元素都有val() "",您的代码就会显示#div1。我不确定这是你想要的,也许你想为每个输入元素显示不同的<div>

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

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

请参阅my jsfiddle了解演示。

这是非常不干净的编程。您可能想要尝试优秀的JQuery validation plugin

答案 1 :(得分:0)

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

$('#div1').hide();
    $('#btn1').click(function() {
        $('.class1').each(function() {
            $('#div1').hide();
            if ($(this).val() == "") {
                $('#div1').show();
                return false;
            }
        });
    });

根据您的代码,我认为只对最后一次输入进行验证。

Working demo