Javascript 结合变化和关键点

Javascript 结合变化和关键点,javascript,jquery,events,onchange,Javascript,Jquery,Events,Onchange,我有一个计算产品成本的表格。这取决于他们输入的输入值和他们选择的选择 是否有办法将change和keyup事件组合成一个更干净的片段 我的代码如下: 谢谢。您可以使用一个逗号分隔的选择器来获取这两个元素。然后,如果使用on()方法,则可以提供一个空格分隔的字符串,其中包含要绑定到的事件名称,如下所示: $('#input, #select').on('keyup change', function() { var x = $('#input').val(); var y = $

我有一个计算产品成本的表格。这取决于他们输入的输入值和他们选择的选择

是否有办法将
change
keyup
事件组合成一个更干净的片段

我的代码如下:


谢谢。

您可以使用一个逗号分隔的选择器来获取这两个元素。然后,如果使用
on()
方法,则可以提供一个空格分隔的字符串,其中包含要绑定到的事件名称,如下所示:

$('#input, #select').on('keyup change', function() {
    var x = $('#input').val();
    var y = $('#select').val();

    if (y == '5') {
        var z = 5;
    }
    else if (y == '10') {
        var z = 10;
    }

    var z = x * y;
    $('#total').html(z);
});

还请注意,逻辑中的
if
条件是完全冗余的,因为您无论如何都要在末尾覆盖
z
的值

您可以使用一个逗号分隔的选择器来获取这两个元素。然后,如果使用
on()
方法,则可以提供一个空格分隔的字符串,其中包含要绑定到的事件名称,如下所示:

$('#input, #select').on('keyup change', function() {
    var x = $('#input').val();
    var y = $('#select').val();

    if (y == '5') {
        var z = 5;
    }
    else if (y == '10') {
        var z = 10;
    }

    var z = x * y;
    $('#total').html(z);
});

还请注意,逻辑中的
if
条件是完全冗余的,因为您在最后覆盖了
z
的值

以下是工作代码:

 $(document).on("keyup change", "#input, #select", function(){
 var x = $('#select').val();
     var y = $('#input').val();

    if (x == '5') {
                var z = 5;
    }
    else if (x == '10') {
                var z = 10;
    }
    var a = y * z;
    $('#total').html(a);})

以下是工作代码:

 $(document).on("keyup change", "#input, #select", function(){
 var x = $('#select').val();
     var y = $('#input').val();

    if (x == '5') {
                var z = 5;
    }
    else if (x == '10') {
                var z = 10;
    }
    var a = y * z;
    $('#total').html(a);})

您缺少的
#选择
。这太好了-谢谢!)if语句在我的实际使用中是必要的,因为它从字符串中设置了一个值-为此简化了一点,而且做得有点匆忙。这还将引发
\select
上的
keyup
事件和
\input
上的
change
事件,这两个事件最初未被捕获。从长远来看,这不太可能产生影响,但仍然会产生影响。您缺少
#选择
。这太好了-谢谢!)if语句在我的实际使用中是必要的,因为它从字符串中设置了一个值-为此简化了一点,而且做得有点匆忙。这还将引发
\select
上的
keyup
事件和
\input
上的
change
事件,这两个事件最初未被捕获。从长远来看,这不太可能产生影响,但无论如何都会产生影响。