Автоматическое заполнение текстового поля на основе выпадающего списка - PullRequest
0 голосов
/ 19 апреля 2020

Я хочу автоматически заполнить текстовое поле на основе раскрывающегося списка в MVC, используя jquery, представление бритвы и контроллер, из модели с именем 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!!.');
                }
            });
        });
    });

My Razor view:

    <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>

Заранее спасибо.

...