关于jquery的按键更改文本框的值

时间:2012-10-09 01:43:42

标签: jquery asp.net-mvc

我从我的ASP.net MVC Controller获取了JSON数据,并将其循环显示在我的View中。

enter image description here

$(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. 时更改文本框中的值
  3. 更改金额的值(金额=数量*单位价格)
  4. 我是否应该创建控制器的另一个操作来处​​理此更新或此处的任何内容。

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

1 个答案:

答案 0 :(得分:2)

试试这个

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

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

            amount = qty * data.ProductPrice;
        }
    });