如何将输入值从一个输入显示到另一个输入

时间:2011-11-11 08:12:29

标签: jquery

我在这里有这段代码http://jsfiddle.net/RzBeM/65/你会看到两个名为quantity的输入字段。基本上,第一部分将数量乘以卡点数值并返回一个值,在第二部分中数量乘以卡值并给出一个值。问题是我必须在两个输入中输入数字我希望有一个输入,但同时进行两次乘法。此外,如果您键入一个值并将其删除,则显示NaN我该如何阻止它?

2 个答案:

答案 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);
});

小提琴:http://jsfiddle.net/manuel/RzBeM/82/

答案 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);
});