2016-10-11 12 views
0

私は2つの入力フィールドを持っています。入力中に入力フィールドがまだ空であるかどうかを確認する方法はありますか?

$(".myClass").on("change keyup paste", function(){ 
 
if($('.myClass').val() != ''){ 
 
     alert('One or all fields are empty'); 
 
    } 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="myClass"> 
 
<input type="text" class="myClass">

私は、フィールドAで何かを書いた後、その後、フィールドBで何かを書き始めるのであれば、私は、期待してい:私は、フィールドのいずれかがまだ空である場合、入力中に確認したいですアラートメッセージは停止する必要があります。しかしそれはありません

答えて

1

あなたは次のようにすることができます。 each()を使用してすべて.myClassを確認してください。

$(".myClass").on("change keyup paste", function() { 
 
    var isEmpty; 
 
    $('.myClass').each(function() { 
 
     if (this.value.length == 0) 
 
      isEmpty = true; 
 
    }); 
 

 
    if(isEmpty) 
 
     alert('One or all fields are empty'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="myClass"> 
 
<input type="text" class="myClass">

+0

はいこれは完璧に動作しています!ありがとう。あなたは私のバージョンがうまくいかなかった理由を知っていますか? – Jarla

+1

'$( '。myClass').val()'は常に最初の '.myClass'の値を返します。 @ジャラ – Azim

1

それを行うための方法は、通常ョフィルタそれである:

(ところで、私が代わりにinputイベントを使用することをお勧めしたい)

$(".myClass").on("input", function(){ 
if($('.myClass').filter(function(){ return !this.value; }).length){ 
     alert('One or all fields are empty'); 
    } 
}); 
関連する問題