Javascript 推断金额问题,而不是每次执行的相同值

Javascript 推断金额问题,而不是每次执行的相同值,javascript,jquery,Javascript,Jquery,我在推导两个变量之间的数量时遇到了一些问题,这个问题是它包含在前一个val和新的val中 例如: <div id="total">200.00</div> <input id="amount"/> //value = 100 for exemple jQuery("input#amount").on("keydown",function search(e) { if(e.keyCode == 13) { //when hit Enter

我在推导两个变量之间的数量时遇到了一些问题,这个问题是它包含在前一个val和新的val中

例如:

<div id="total">200.00</div>
<input id="amount"/> //value = 100 for exemple

jQuery("input#amount").on("keydown",function search(e) {
    if(e.keyCode == 13) { //when hit Enter
        var $myval = jQuery(this).val();    
        var obj = [
            {"id":1, "code": 100, "value":20}
        ];

        var item = obj.find(key => key.code === $myval);
        if (item) {
            var newTotal = jQuery("#total").text() - item.value;
        }
    }
}
200.00
//例如,值=100
jQuery(“输入#金额”)。在(“向下键”,函数搜索(e){
如果(e.keyCode==13){//当点击回车键时
var$myval=jQuery(this.val();
var obj=[
{“id”:1,“code”:100,“value”:20}
];
var item=obj.find(key=>key.code==$myval);
如果(项目){
var newTotal=jQuery(“#total”).text()-item.value;
}
}
}
信息:我刷新页面时没有这个问题,但如果没有,我就有这个问题

使用代码:第一次执行时,可以很好地推断
200-20

第二次不是推演20,而是推演40,第三次是推演60,而他每次都应该根据这个值推演20,你知道为什么吗


真正的例子。

您在jquery代码中遇到了重新绑定问题,您可以简单地使用unbind来解决这个问题

希望我的代码片段能在某种程度上帮助你。。 祝你今天愉快

jQuery(“输入#条形码”)。在(“按键下”,函数搜索(e){
如果(e.keyCode==13){
var ticketValue=jQuery(this.val();
控制台日志(“票证编号=”+票证价值);
var obj=[
{“id”:1,“代码”:“123”,“valeur”:20},
{“id”:2,“代码”:“456”,“valeur”:30},
{“id”:3,“代码”:“789”,“valeur”:15},
{“id”:4,“代码”:“1011”,“valeur”:25}
];
var item=obj.find(key=>key.code==ticketValue);
如果(项目){
jQuery(“#条形码”).prop('disabled',true);
jQuery(#output,#output execute yes,#output execute no”).css('display','block');
jQuery(“#output”).html(“票证确定!”+”
“+”值:“+item.valeur”); jQuery(“#条形码”).val(“”); //从总数中扣除金额 //使用“取消绑定”解决重新绑定问题 jQuery(“#输出执行是”).unbind().click(函数()){ var newTotal=jQuery(“#amount span”).text()-item.valeur; jQuery(“#amount span”).html(newTotal.toFixed(2)); jQuery(#output,#output execute yes,#output execute no”).css('display','none'); jQuery(“#条形码”).prop('disabled',false); }); jQuery(“#输出执行号”).unbind().click(函数()){ jQuery(#output,#output execute yes,#output execute no”).css('display','none'); jQuery(“#条形码”).prop('disabled',false); }); }否则{ jQuery(“输出”).css('display','block'); jQuery(#output execute yes,#output execute no”).css('display','none'); jQuery(“#output”).html(“Ticket ko!”); jQuery(“#条形码”).val(“”); } } });
h3{
文本对齐:居中;
颜色:#c81113;
}
#条形码{
填充:10px;
边界:无;
边框:1px实心#eaeaea;
宽度:30%;
字号:18px;
字体大小:粗体;
颜色:#9090;
}
#数量{
显示:内联块;
边框:1px实心#eaeaea;
高度:40px;
线高:40px;
宽度:15%;
垂直对齐:中间对齐;
文本对齐:居中;
浮动:对;
}
#金额跨度{
字号:28px;
颜色:#c81113;
字体大小:粗体;
}
#输出{
文本对齐:居中;
字体大小:22px;
边框:1px实心#7d7d;
填充:10px;
颜色:#fff;
背景色:#7d7d7d;
边缘顶部:30px;
边界半径:5px;
宽度:50%;
显示:块;
右边距:自动;
左边距:自动;
}
#信贷人{
显示:内联块;
边框:1px实心#eaeaea;
高度:40px;
线高:40px;
宽度:6%;
垂直对齐:中间对齐;
文本对齐:居中;
浮动:对;
光标:指针;
}
#输出执行是,#输出执行否{
文本对齐:居中;
字体大小:20px;
边框:1px实心#c81113;
填充:8px;
颜色:#fff;
背景色:#c81113;
边缘顶部:10px;
边界半径:5px;
宽度:25%;
显示:块;
右边距:自动;
左边距:自动;
光标:指针;
}
部门信息{
填充顶部:43px;
字体大小:11px;
}

瓦尔
200
是的,我死了
不,我不推断

信息;尝试输入“123”,它推断出20,然后再次输入“123”,它推断出40,而不是20!
可能,此函数运行了两次、三次…放置一个
控制台。记录
以验证
解除绑定()
解决了我的问题,谢谢您的时间。