2016-10-05 5 views
-1

入力のフォームがあり、クラスtxt-qtyの入力があり、データベースのデータに基づいてループされます。私は0をすべきではない量の値をチェックしようとしたいが、数量の1が0より大きい場合、それはtruejqueryを使用したデータベースに基づいて各ループの値をクラスごとにチェックする方法

になりたより

これは私が試したものというのが私のコードです:

<script type="text/javascript"> 
$(document).ready(function(){ 
    var input_qty = false; 
    $('#checkout').submit(function(e){ 
     e.preventDefault(); 
     var qty = $('.txt-qty').each(function(){ 
      $(this).val(); 
     }); 
     if(qty > 0){ 
      input_qty = true; 
     }else{ 
      input_qty = false; 
     } 
     if(input_qty == false){ 
      alert('You must input one of quantity from the menu list'); 
     }else{ 
      this.submit(); 
     } 

     }); 
    }); 
</script> 

私の警告がqtyの場合、返信は[object],[object]となります。

人はあなたが私の手助けをすることができますどのように量の価値の一つをチェックするのは0ではないでしょうか?

+1

あなたが求めていることは明確ではありません。 '.txt-qty'フィールドの少なくとも1つに値> 0が必要であると言っていますか? –

答えて

2

目標は.txt-qtyフィールドの少なくとも一方が> 0の値を持つ、そして、あなたが任意のフィールドの値が> 0であるかどうかを確認するためにあなたのjQueryオブジェクトから真の配列を取得するためにget()を使用し、Array#someできることを確認する場合:

$(document).ready(function() { 
    $('#checkout').submit(function(e) { 
     e.preventDefault(); 
     if (!$('.txt-qty').get().some(function(e) { return $(e).val() > 0; })) { 
     // Gets array ---^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     //      | Checks for at least one with a value > 0 
      alert('You must input one of quantity from the menu list'); 
     } else { 
      this.submit(); 
     } 
    }); 
}); 

文字列値の暗黙的な変換に依存します。代わりにparseIntを使用することを検討してください。

0
<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
$('#checkout').click(function(e){ 
e.preventDefault(); 
     var qty =[]; 
     $('.txt-qty').each(function(){ 

      if(parseInt($(this).val(),10) <= 0) 
       { 
       qty.push($(this).val()); 
       } 
     }); 

     if(qty.length > 0){ // check this 
      input_qty = true; 
     }else{ 
      input_qty = false; 
     } 
     if(input_qty == true){ 
      alert('You must input one of quantity from the menu list'); 
     }else{ 
      this.submit(); 
     } 


     }); 
}); 
</script> 
</head> 
<body> 
<input type='text' class='txt-qty' /> 
<input type='text' class='txt-qty' /> 
<input type='text' class='txt-qty' /> 
<input type='text' class='txt-qty' /> 
<input type='text' class='txt-qty' /> 
<input type='text' class='txt-qty' /> 

<input type='submit' id='checkout'/> 
    </body> 


</body> 
</html> 
関連する問題