$(".maxQtyclass").keyup(function() {
var maxQty = $(this).attr('data-qty');
//lets say it is 8
if ($(this).val() > maxQty
&& e.keyCode != 46 // delete
&& e.keyCode != 8 // backspace
) {
$(this).val(maxQty);
alert('Only ' + maxQty + ' unit(s) available!');
return false;
}
});
私は8を押したときに(8が8より大きいのでメッセージは表示されません)。私が9を押すと、8単位しか使用できないことを警告します。これまではとても良いですが、私が12を押すと警告を発することはありません、なぜですか? 12は> 8より大きい。keyupのように見えるのは、最初に入力された数字だけを読むということです。数字12を読むためにキーアップを強制するには?Jqueryキーアップが両方の数字の後にトリガーされました
changeイベントを使用して文字列全体を取得して確認することができます。 –
値を比較するためにkeyupを使用しないでください。常に以前の値を考慮します。代わりに、blurまたはchangeイベントを使用してください。 –
これはonchangeを使用する方法を示しています:https://stackoverflow.com/questions/11179406/jquery-get-value-of-select-onchange – kmoser