我正在尝试使用以下jquery代码动态计算折扣。
$(document).on("change keyup blur", "#chDiscount", function(){
var amd=$('#cBalance').val();
var disc = $('#chDiscount').val();
if(isNaN(disc)){
disc = 0;
}
$('#cBalance').val(amd-disc);
});
要转义非数字键:
var specialKeys = new Array();
specialKeys.push(8,46); //Backspace
function IsNumeric(e) {
var keyCode = e.which ? e.which : e.keyCode;
console.log( keyCode );
var ret = ((keyCode >= 48 && keyCode <= 57) || specialKeys.indexOf(keyCode) != -1);
return ret;
}
问题是当我输入chDiscount输入时,cBalance的新值很好但是当我擦除chDiscount值时,我再也无法获得cBalance输入的旧(默认)值。如果删除Discount值,我想要旧的值。我怎样才能做到这一点?请帮忙。感谢。
答案 0 :(得分:0)
如果首先使用元素jquery存储初始值,那么该例子。
$('#cBalance').data({origValue: 999});
试试这个简单的小提琴https://jsfiddle.net/jeorlie/b71epf02/
尝试使用10作为余额输入并将其扣除3(假设3是总折扣)。你将获得余额7。如果您删除折扣(将其设为0),您将获得原始值。
这个小提琴的代码是错误的,但你可以用它来获取想法,只需分析它。顺便说说。您可以将Balance的原始值存储到全局可访问的变量中。希望你能得到它的想法。