如何在 MVC 中 Asp.net 两个文本框的值相乘

本文关键字:文本 两个 MVC Asp net | 更新日期: 2023-09-27 18:32:39

我有 3 个文本框,第一个用于数量,第二个用于价格,第三个用于总价。

 <div class="form-group">
            @Html.LabelFor(model => model.quantity, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.quantity, new { htmlAttributes = new { @class = "form-control", @type = "number" } })
                @Html.ValidationMessageFor(model => model.quantity, "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.price, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.price, new { htmlAttributes = new { @class = "form-control", @type = "number" } })
                @Html.ValidationMessageFor(model => model.price, "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.totalprice, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">  
                    @Html.EditorFor(model => model.totalprice, new { htmlAttributes = new { @class = "form-control", @type = "number" } })
                    @Html.ValidationMessageFor(model => model.totalprice, "", new { @class = "text-danger" })             
            </div>

这是控制器:

        [HttpPost]
        public ActionResult Add(Model model)
        {
            obj.Quantity = model.quantity;
            obj.Price = model.price;
            obj.TotalPrice = model.totalprice
            db.Details.Add(obj);
            db.SaveChanges();
            return RedirectToAction("");
        }

现在我想将第一个和第二个文本框的值相乘,并在第三个文本框中显示它们。例如,如果用户在第一个文本框中输入 5,在第二个文本框中输入 100,则它会自动在第三个文本框中显示 500,如果用户更改第一个或第二个文本框的值,则第三个文本框的值也应相应更改。谢谢。

如何在 MVC 中 Asp.net 两个文本框的值相乘

您可以在 javascript 中侦听文本框的keyup事件,读取值并进行乘法运算,并将结果值设置为第三个文本框。

假设你的页面中包含jQuery库。

$(function(){
  $("#quantity,#price").keyup(function(e){
    var q=$("#quantity").val();
    var p=$("#price").val();
    var result="";
    if(q!=="" && p!=="" && $.isNumeric(q) && $.isNumeric(p))
    {
      result = parseFloat(q)*parseFloat(p);
    }
    $("#totalPrice").val(result);
  });
});

这是一个工作 jsbin 示例。

你可以使用这个:

 [HttpPost]
    public ActionResult Add(Model model)
    {
        obj.Quantity = model.quantity;
        obj.Price = model.price;
        obj.TotalPrice = model.totalprice
        model.totalprice = model.quanity * model.price
        db.Details.Add(obj);
        db.SaveChanges();
        return RedirectToAction("");
    }

希望对您有所帮助。我在我的应用程序中使用了它,它做了正确的事情。