jQuery键启动或单击不立即响应,为什么?

jQuery键启动或单击不立即响应,为什么?,jquery,sum,click,keyup,Jquery,Sum,Click,Keyup,我有一行数量的输入,我求和总数。我有它的工作,但似乎有一个滞后的时候,总价格显示 数量总和很好地工作。价格合计似乎发生在单击、制表符或使用数字输入选择箭头之后,尽管不是每次!我正在使用keyup并单击.on函数 无论如何,要让它以数量总和的方式工作 JSFIDLE 这是因为你正在分离对相同事件做出响应的东西。把它们放在一起 $(document).on('click keyup', '.item1l', function() { $('.item1l').each(funct

我有一行数量的输入,我求和总数。我有它的工作,但似乎有一个滞后的时候,总价格显示

数量总和很好地工作。价格合计似乎发生在单击、制表符或使用数字输入选择箭头之后,尽管不是每次!我正在使用keyup并单击.on函数

无论如何,要让它以数量总和的方式工作

JSFIDLE


这是因为你正在分离对相同事件做出响应的东西。把它们放在一起

    $(document).on('click keyup', '.item1l', function() {
      $('.item1l').each(function() {
        // **THIS PRICE SUMMING CODE BELOW DOES NOT RESPOND RIGHT AWAY!**
        // ********** LADIES PRICE TOTALS **********
        var qty = parseInt($('.item1ltotal').val(), 10);
        var price = parseFloat($('.price').text());
        $('#total').text((qty * price ? qty * price : 0).toFixed(2));

        //   SUMMATION OF CATEGORY QTY TOTALS
        // ********** LADIES QUANTITY TOTALS **********
        var sum = 0;
        $(".item1l").each(function() {
          sum += +$(this).val();
        });
        $(".item1ltotal").val(sum);
      });
    });

为什么需要两个不同的处理程序?按照代码的方式,第一个处理程序将首先触发,即使它依赖于第二个处理程序。item1ltotal在那里更新。谢谢!看起来效果不错!烟蒂我忘了提一下,加上所有6个输入值后,数学似乎不准确。。。加上所有投入的1项,总计为67.51美元!它似乎会额外增加一两便士,这取决于物品的数量!怎么了???我明白了。将整数和浮点相乘。由于某种原因,浮点值取11.2511。您需要使用var price=parseFloat$'.price'.text.toFixed2;看看我更新的提琴。好的,我只是从我的godaddy帐户在我的实时测试页面上试用了它,现在它根本没有合计价格总额。。。我通过配置文件加载价格,并使用include xxxxxxxxxx.php;文件以获取要显示的价格。你知道为什么现在价格根本没有合计吗?我想我读过一篇文章,其中提到动态加载东西在某种程度上不起作用。。。。我有很多东西。我是否只是为每件商品复制此代码?是否只是更改商品编号等?还是有办法擦干代码?我有15件女士用品。我是否不得不创建15块代码,每件商品1块?你是说购物车吗?如果是这样的话,看看我在这里对代码所做的修改,每个表都有自己的id,应该是所显示产品的id。无需为每个产品复制jQuery代码。您将注意到有关如何计算总数的一些更正。
    $(document).on('click keyup', '.item1l', function() {
      $('.item1l').each(function() {
        // **THIS PRICE SUMMING CODE BELOW DOES NOT RESPOND RIGHT AWAY!**
        // ********** LADIES PRICE TOTALS **********
        var qty = parseInt($('.item1ltotal').val(), 10);
        var price = parseFloat($('.price').text());
        $('#total').text((qty * price ? qty * price : 0).toFixed(2));

        //   SUMMATION OF CATEGORY QTY TOTALS
        // ********** LADIES QUANTITY TOTALS **********
        var sum = 0;
        $(".item1l").each(function() {
          sum += +$(this).val();
        });
        $(".item1ltotal").val(sum);
      });
    });