我有一个表格,用于计算产品的成本。它取决于他们输入的输入值和他们选择的选择。
有没有一种方法可以将change
和keyup
事件组合到一个更清洁的段中?
我的代码如下:
https://jsfiddle.net/qrv57qtu/
$('#input').keyup(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);
});
$('#select').change(function(){
var x = $(this).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);
});
谢谢。
最佳答案
您可以使用单个以逗号分隔的选择器来获取两个元素。然后,如果使用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
的值关于javascript - 结合变更和键入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38333060/