在jQuery中自动更新计算结果

时间:2014-10-24 11:36:17

标签: javascript jquery forms

我正在js和jquery中迈出第一步,我正在尝试制作简单的计算表格, 哪个

  1. 在html(sum)中采用数字变量形式表单
  2. 乘以constat multiplier
  3. 将结果乘以从下拉列表中选择的数字(总计)
  4. 并且即时执行此操作,以便在任何变量发生更改时说更新结果。 下面的代码有效,但总和更新时总结果不会更新。我在这里错过了什么?

    $('.pow').keyup(function () {
    
    var sum = 0;
    var multip = 4;
    sum1 = sum;
    $('.pow').each(function() {
        sum += Number($(this).val())*parseInt(multip);
        sum1 = sum; 
    });
    $("#sum").html(sum.toFixed(2));  });
    
    $('.per').click(function () {
    var total = 0;    
    var period = $("#period").val();
    $(".per").each(function() {
        total = parseInt(sum1)*parseInt(period);
    }); $("#sum1").html(total.toFixed(2)); });
    

1 个答案:

答案 0 :(得分:0)

工作fiddle here

你计算总计($('。per')。点击(.....);,所以当你输入一个数字时,没有任何反应,因为代码没有运行)

更简单的方法是在键入数字后自动执行单击操作。 在此行$('.okr').click();

之后添加此$("#sum").html(sum.toFixed(2));

像这样:

$("#sum").html(sum.toFixed(2));     
$('.per').click();

假设您已经从下拉列表中选择它将没有问题,否则下拉列表将没有值来计算。

此外,下拉菜单的问题是我点击它关闭,即我不能选择任何东西。要解决此问题,我按住鼠标按钮,因此下拉菜单不会关闭(这不正常)。 原因是因为您dropdown.click() { dropdown.change() }考虑更换此功能