Я хочу автоматически заполнить текстовое поле на основе раскрывающегося списка в 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>
Заранее спасибо.