javascript - 从 DropDown 中选择选项并在另一个文本字段中自动设置值 ASP .NET MVC

标签 javascript c# asp.net-mvc razor

我想从下拉菜单中选择一个选项,并根据所选选项自动设置第二个输入字段中的值。

像这样: enter image description here

我创建了 javascript 代码,但它无法正常工作。

$(function () {

    $("#artikel").keyup(function (e) {

        var val1 = $("#artikel").val(),
            result = "";

        if (val1.match = "Spletna aplikacija")
            result = 5;
        if (val1.match = "Namizna aplikacija")
            result = 10;
        if (val1.match = "Mobilna aplikacija")
            result = 13;
        if (val1.match = "Spletna stran")
            result = 20;

        $("#cena").val(result);
    });
});

这是我的 .cshtml 文件(部分):

    <div class="form-group">
        @Html.LabelFor(model => model.artikel, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownListFor(model => model.artikel, new SelectList(new[] { String.Empty, "Spletna aplikacija - 5€", "Namizna aplikacija - 10€", "Mobilna aplikacija - 13€", "Spletna stran - 20€" } ))
            @Html.ValidationMessageFor(model => model.artikel, "", new { @class = "text-danger" })
        </div>
    </div>

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

还有我的 Controller POST 代码:

    public ActionResult Create()
    {
        ViewBag.zapStDoumenta_tk = new SelectList(db.dokumentGlava, "zapStDokumenta", "kodaRacuna");
        return View();
    }

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "zapStPostavke,artikel,kolicina,zapStDoumenta_tk,cena,popust,davek,znesek")] postavkaDokumenta postavkaDokumenta)
    {
        if (ModelState.IsValid)
        {
            db.postavkaDokumenta.Add(postavkaDokumenta);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.zapStDoumenta_tk = new SelectList(db.dokumentGlava, "zapStDokumenta", "kodaRacuna", postavkaDokumenta.zapStDoumenta_tk);
        return View(postavkaDokumenta);
    }

你们能帮帮我吗,我做错了什么?

非常感谢!

最佳答案

你的函数应该如下所示

$(function () {

    $("#artikel").change(function (e) {

        var val1 = $("#artikel").val(),
            result = "";

        if (val1 == "Spletna aplikacija - 5€")
            result = 5;
        if (val1 == "Namizna aplikacija - 10€")
            result = 10;
        if (val1 == "Mobilna aplikacija - 13€")
            result = 13;
        if (val1 == "Spletna stran - 20€")
            result = 20;

        $("#cena").val(result);
    });
});

关于javascript - 从 DropDown 中选择选项并在另一个文本字段中自动设置值 ASP .NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41490265/

相关文章:

c# - c#中特殊字符的正则表达式

c# - Hangfire RecurringJob + 简单注入(inject)器 + MVC

jquery - 使用 JQuery Ajax 处理 MVC5 错误

javascript - 在 React.js 中更改父级的状态

javascript - 根据 Angular js中的下拉选定值进行搜索

javascript - 可以 polygon.setPath();用于完全重新定义多边形?

javascript - C# 如何识别缩小版 JavaScript?

javascript - 使用 Javascript/jQuery 删除字符串中的反斜杠

C# 在运行时覆盖方法

c# - 更改默认的 ASP MVC 请求 header 以添加您自己的值