我在这里有这段代码http://jsfiddle.net/RzBeM/65/你会看到两个名为quantity的输入字段。基本上,第一部分将数量乘以卡点数值并返回一个值,在第二部分中数量乘以卡值并给出一个值。问题是我必须在两个输入中输入数字我希望有一个输入,但同时进行两次乘法。此外,如果您键入一个值并将其删除,则显示NaN我该如何阻止它?
答案 0 :(得分:0)
这里有一个修改过的代码版本。我删除了第二个数量输入
$("input[id*=-id-]").keyup(function() {
var quantity = $(this).val();
var cardPoints = parseInt($(this).parents("tr").find('input:eq(1)').val());
var realValue = parseInt($(this).parents("tr").find('input:eq(2)').val());
cardCalc = cardPoints * quantity;
realCalc = realValue * quantity;
$(this).parents("tr").find("td:eq(2)").html(cardCalc);
$(this).parents("tr").find("td:eq(4)").html(realCalc);
});
答案 1 :(得分:0)
您的代码最大的问题是您拥有所有具有相同ID的HTML元素,这是不正确的。我已更新它,您可以在此处获取最新信息:http://jsfiddle.net/RzBeM/92/
代码变成了:
$("#amazon5-id-sb5").keyup(function() {
//card
var quantity = $(this).val();
var howMany = parseInt($("#amazon5-id-sb6").val());
var subTotal = quantity * howMany;
//real value
var realValue = parseInt($("#amazon5-id-sb8").val());
var realTotal = quantity * realValue;
//assign subTotal to the td0
$("#amazon5-id-sb7").html(subTotal);
$("#amazon5-id-sb9").html(realTotal);
});