Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可变乘数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 可变乘数

Javascript 可变乘数,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了一个简单的计算器,它接受变量1和变量2,并将它们相乘生成一个结果 当我改变变量1时,结果立即改变。但是,当我更改变量2时,结果保持不变 我如何重新配置我的代码,使结果在任何一个变量改变时立即改变 HTML: 变量1 变量2 后果 $document.readyfunction{ var mt=$var1; mt.keyupfunction{ var total=isNaNparseIntmt.val*$var2.val?0:mt.val*$result.val $result.va

我已经创建了一个简单的计算器,它接受变量1和变量2,并将它们相乘生成一个结果

当我改变变量1时,结果立即改变。但是,当我更改变量2时,结果保持不变

我如何重新配置我的代码,使结果在任何一个变量改变时立即改变

HTML:

变量1 变量2 后果 $document.readyfunction{ var mt=$var1; mt.keyupfunction{ var total=isNaNparseIntmt.val*$var2.val?0:mt.val*$result.val $result.valtotal; }; };
考虑使用以下jQuery语法var1、var2在var1和var2输入上绑定keyup事件,以实现此期望行为,如图所示:

$(document).ready(function(){

    // Select and bind keyup event to both "var" input elements using 
    // this syntax
    $('#var1, #var2') 
    .keyup(function(){ 

        // Adjust your keyup handler to perform calculation when keyup 
        // occurs on either input field
        var total= 0;
        if(!isNaN(parseInt($("#var1").val())* parseInt($("#var2").val()))){
             total = parseFloat($("#var1").val())* parseFloat($("#var2").val());
        }

        $("#result").val(total);
    });
});

你这里有很多问题, 您需要同时绑定var1 textbox和var2 textbox中的事件 另外,你的乘法公式也是错误的。以下是愿望代码:

$document.readyfunction{ var mt=$var1,var2; mt.keyupfunction{ 调试器; var合计=0; if!isNaNparseInt$var1.val*parseIntparseInt$var2.val{ 总计=parseInt$var1.val*parseIntparseInt$var2.val; } $result.valtotal; }; }; 变量1 变量2 后果
我只想用普通Javascript回答这个问题,以备将来参考。。 我让var1,var2 class=input,然后查询选择它们,然后循环它们,这样当你给它们添加任何数字时,它们的valueproduct将在id=result中生成 如果没有给它们加任何数字,那么它们的默认值都是0,也就是说,只给var1加10,那么输出将仅为10,如果加非数字字符,那么输出为NaN

让输入=document.queryselectoral.input; 设var1=document.querySelectorvar1; 让var2=document.querySelectorvar2; 让输出=document.querySelectorresult; 函数resultvar1=0,var2=0{ output.value=Numbervar1*Numbervar2; } forlet i=0;iresultvar1.value,var2.value } 变量1 变量2 后果
您只有变量1输入框上有句柄事件。我一直得到0作为结果。如果您想对decimalsPerfect执行此操作,请查看支持小数的更新答案使用parseFloat!您是最好的:不要使用查询选择器获取id。简单地使用Debug .GETelEnMyBIDID,并考虑使用堆栈片段进行演示。我需要使用querySelectorAll来演示我的第二个备选解决方案,使代码更短,我不知道如何使用代码片段我是新来的^_^您仍然可以对结果使用document.getElementById。当您可以进行索引查找时,无需初始化解析器和遍历dom。添加了我的代码片段^ ^,我明白了,是的,您是对的^_^