Javascript函数中的多个OR条件

时间:2018-05-20 02:27:00

标签: javascript jquery

我试图在javascipt函数中使用多个表单ID,但它不起作用。代码是:

    $('#Rate1').keyup(function(){
    var Amt1;
    var Amt2;
    var Amt3;
    var Amt4;
    textone = parseFloat($('#Amt1').val());
    texttwo = parseFloat($('#Amt2').val());
    textthree = parseFloat($('#Amt3').val());
    textfour = parseFloat($('#Amt4').val());
    var result = textone + texttwo + textthree + textfour;
    $('#TotalInvoiceValue').val(result.toFixed(2));


});

我想使用多个这样的ID:

$('#Rate1' || '#Rate2' || '#Rate3' || '#Rate4').keyup(function(){
    var Amt1;
    var Amt2;
    var Amt3;
    var Amt4;
    textone = parseFloat($('#Amt1').val());
    texttwo = parseFloat($('#Amt2').val());
    textthree = parseFloat($('#Amt3').val());
    textfour = parseFloat($('#Amt4').val());
    var result = textone + texttwo + textthree + textfour;
    $('#TotalInvoiceValue').val(result.toFixed(2));


});

但它不起作用。请指出我在这里做错了什么..

如果你有更好的建议,也可以使用除了keyup以外的东西。

2 个答案:

答案 0 :(得分:3)

听起来你只想为多个选择器分配相同的事件处理程序。

https://api.jquery.com/multiple-selector/

尝试使用逗号','而不是逻辑或' ||'

$('#Rate1, #Rate2, #Rate3, #Rate4').keyup(function(){
var Amt1;

答案 1 :(得分:0)

第一个答案完全回答了你的问题。但正如评论所提到的,使用类可以简化事情并且更灵活。

HTML

<input id="Amt1" class="rate" type="text">
<input id="Amt2" class="rate" type="text">
<input id="Amt3" class="rate" type="text">
<input id="Amt4" class="rate" type="text">

的javascript

$('.rate').on('keyup', function() {
  let result = 0;
  $('.rate').each(function() { result += parseFloat(this.value); });
  $('#TotalInvoiceValue').val(result.toFixed(2));
})