2016-04-19 15 views
0

私は、class = "min_value"のHTMLページに複数のテキスト入力があるので、これらのテキスト入力にjQueryを使って検証を追加する必要があります。 250.00より下に入力すると、テキストボックスの値は250.00に設定されます。.eachと.change関数を組み合わせる

これはクラス "min_value"を持つ1つのテキスト入力ではうまく動作しますが、クラス名に複数のテキスト入力が存在する場合はうまく動作しません。検証が各テキスト入力で行われ、そのテキスト入力の値だけが変更されるように、このコードを変更することは可能ですか?

jQuery(function ($) { 

    $(".min_value").each(function(){ 

     $(".min_value").change(function(){ 

      var min_value = $(".min_value").val(); 

      if(min_value <= 250){ 
       $(".min_value").val('250.00'); 
       alert('The Minimum Value can not be less the 250.00'); 
      } 
     }); 
    }); 
}); 
+0

、あなたはそのため 'this'リファレンスを使用することができます。また、 'each'ループは必要ありません。 (min_value <= 250){ $(this)}この場合、jQuery関数は、 。012( '250.00'); アラート( '最小値は250.00を下回ることはできません); } }); });' –

+0

それをカプセル化するイベントをループすることはできません。 DOMでは、jQueryは単純に渡されたセレクタルールにイベントをバインドします。クリック、変更、フォーカスなどの「セレクタ」と「タイプのイベント」によってトリガされたときに起動されます。 – RPichioli

答えて

1
jQuery('.min_value').on('input', function() { 
    if((this).val() <= 250){ 
      $(this).val('250.00'); 
      alert('The Minimum Value can not be less the 250.00'); 
    } 
}); 
0

thisオブジェクトを使用してください。あなたが現在の要素を参照する必要が変更ハンドラで

jQuery(function ($) { 
    $(".min_value").change(function(){ 
     var min_value = $(this).val(); 
     if(min_value <= 250){ 
      $(this).val('250.00'); 
      alert('The Minimum Value can not be less the 250.00'); 
     } 
    }); 
}); 
関連する問題