0

null 値の 2 つのテキスト フィールドを検証する必要があります。私のページでこの Jquery を試してみました。

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

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

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

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

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

最初のテキスト フィールドのみを検証しています。何か助けはありますか?

4

2 に答える 2

0

val()実際には、選択範囲内のいずれかの要素にofがある場合は常に、コードで #div1 を表示する必要があり""ます。それがあなたの望むものかどうかわかりません<div>が、入力要素ごとに異なるものを表示したいですか?

各関数のコールバックは、配列内の要素のインデックスと、配列内の要素の2 つのパラメーターを取得します。これを使用して、検証している要素を区別できます。indexelement

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

デモについては、私の jsfiddleを参照してください。

ただし、これは本当に汚れたプログラミングです。代わりに、優れたJQuery 検証プラグインを試してみることをお勧めします。

于 2012-08-21T11:19:36.517 に答える
0

以下のアプローチに従うべきだと思います

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

コードの検証は、最後の入力に対してのみ行われると思います。

ワーキングデモ

于 2012-08-21T12:00:23.813 に答える