根据下拉选择自动填充文本框

时间:2020-04-19 11:54:13

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我想基于JVC,剃刀视图和控制器,基于MVC中的下拉选择,从名为Supplier的模型中自动填充文本框,该模型具有SupplierID和Company_Registration_Number作为变量。我已经设法通过级联下拉列表来完成此操作,但是我无法填充@ Html.EditorFor。

我的控制器:

        public JsonResult GetCompanyRegistrationNumberId(int id)
        {
           var suppliers = db.Suppliers.Where(p => p.SupplierID == id).ToList();

            var result = (from r in suppliers
                          select new
                          {
                              id = r.SupplierID,
                              name = r.Company_Registration_Number
                          }).ToList();

            return Json(result, JsonRequestBehavior.AllowGet);
        }

我的JQuery:

        $(function () {
        if ($("#SupplierID").val() == '0') {
            var productDefaultValue = "<option value='0'>--Select a category first--</option>";
            $("#Company_Registration_Number").html(productDefaultValue).show();
        }

        $("#SupplierID").change(function () {
            var selectedItemValue = $(this).val();
            alert("cert");
            var ddlProducts = $("#Company_Registration_Number");
            $.ajax({
                cache: false,
                type: "GET",
                url: '@Url.Action("GetCompanyRegistrationNumberId", "Order")',
                data: { "id": selectedItemValue },
                success: function (data) {
                    ddlProducts.html('');
                    $.each(data, function (id, option) {
                        ddlProducts.append($('<option></option>').val(option.id).html(option.name));
                    });
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    alert('Found error to load product!!.');
                }
            });
        });
    });

我的剃刀视图:

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

谢谢。

0 个答案:

没有答案