0

我从我的 ASP.net MVC 控制器中获取了 JSON 数据,并将其循环显示在我的视图中。

在此处输入图像描述

$(document).ready(function () {
var amount = 0;
var subTotal = 0;
var vat = 0;
var total = 0;
var qty = 0;
var urlSession = '<%: Url.Content("~/") %>' + "Quotation/ProductInSession";
$.getJSON(urlSession, function (dataQuote) {
    var i = dataQuote.ja.length;
    $.each(dataQuote.ja, function (index, data) {
        amount = data.ProductQty * data.ProductPrice;
        subTotal += amount;
        $("#listProduct tr#first_row").after('<tr style="height:25px;"><td class="tablecell2" width="40px" align="center">' + i + '</td><td class="tablecell2">' + data.ProductName + '</td><td class="tablecell2" width="70px" align="center"><input id="qty" type="text" value="' + data.ProductQty + '" size="2"/></td><td class="tablecell2" width="90px" align="right" style="padding-right:5px;">' + data.ProductPrice + '</td><td class="tablecell2" style="border-right:1px solid silver;padding-right:5px;" width="120px" align="right"><span id="amount">' + amount + '</span></td></tr>');
        i--;
        $('#qty').keypress(function (event) {
            var keycode = (event.keyCode ? event.keyCode : event.which);
            if (keycode == '13') {
                qty = $("#qty").val();

                $("#qty").html(qty);

                amount = qty * data.ProductPrice;
                $("#amount").html(amount);
            }
        });
    });
    vat = (subTotal * 10) / 100;
    total = subTotal + vat;
    $("#vvat").html("<b>" + vat + "</b>");
    $("#ssubtotal").html(subTotal);
    $("#sgrandtotal").html("<b>" + total + "</b>");
  });
});

我想做的是:

  1. 当我按下 Enter 键时更改文本框中的值
  2. 更改金额的值(金额 = 数量 * 单价)

我是否应该创建控制器的另一个操作来处​​理此更新或除此之外的任何内容。

感谢任何人都可以给我的任何帮助!

4

1 回答 1

1

try this

 $('#qty').bind("keydown",function (e) {
        if (e.which == 13) {
         e.preventDefault();
            qty = $("#qty").val();

            $("#qty").html(qty);

            amount = qty * data.ProductPrice;
        }
    });
于 2012-10-09T01:53:41.677 回答