我试图在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以外的东西。
答案 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));
})