jQuery:如何防止在多个输入字段的总和达到后插入到输入字段
jQuery : How to prevent insertion into input field after sum of multiple input fields has been reached?
通过Google和stackoverflow搜索后,我已经成功地得出了这个代码,但是,只有一个问题。
假设amount_available
是125
。按说,我应该只能输入< 125
的总和,但我可以输入比1111
大一位数的数字,或者比125
大三位数的数字,比如999
。我如何纠正这个问题?除此之外,它工作得很好。
下面是我的代码:
JQuery
var amount_available = $('input[name=amount_available]').val();
$(".multiple_spec").on('keydown','input[name*=quantity]',function(e){
var total_quantity=0;
$(this).parents('[class*=multiple]').find('input[name*=quantity]').each(function(){
var val = parseFloat($(this).val());
if(isNaN(val))val = 0;
total_quantity=(val+total_quantity);
});
if(total_quantity>amount_available){
// Allow: backspace, delete, tab, escape, and enter
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
e.preventDefault();
}
});