Я новичок в MVC и очень новичок в JQuery. Я пытаюсь заполнить текстовые поля на основе выбора выпадающего списка. Модель My Product содержит поля ProductId, Name и Price. Я хочу заполнить поля ProductId и Price в моих QuoteDetails на основе выбранного имени продукта. Мои действия контроллера заключается в следующем:как заполнять текстовые поля на основе выбора выпадающего списка mvc
public ActionResult AddProduct(int quoteId, int quoteDetailId)
{
var items = db.Products.ToList();
ViewBag.ProductData = items;
ViewData["QuoteId"] = quoteId;
ViewData["QuoteDetailId"] = quoteDetailId;
return PartialView("EditQuoteDetail", new QuoteDetail { QuoteId = quoteId, QuoteDetailId = quoteDetailId, ProductId = 1, ProductName = " ", Amount = 1, ListPrice = 0, Discount = 0, Price = 0 });
}
Соответствующая часть частичного просмотра EditQuoteDetail выглядит следующим образом:
@Html.HiddenFor(model => model.QuoteId, new { htmlAttributes = new { @class = "form-control" } })
@Html.HiddenFor(model => model.QuoteDetailId, new { htmlAttributes = new { @class = "form-control" } })
@Html.EditorFor(model => model.ProductId, new { htmlAttributes = new { @id="ProductId", @class = "form-control" } })
@Html.DropDownList("ProductName", new SelectList(ViewBag.ProductData, "Name", "Name"), new { @id = "ProductName" })
@Html.EditorFor(model => model.Amount, new { htmlAttributes = new { @class = "form-control" } })
@Html.EditorFor(model => model.ListPrice, new { htmlAttributes = new { @id="Price", @class = "form-control" } })
@Html.EditorFor(model => model.Discount, new { htmlAttributes = new { @class = "form-control" } })
@Html.EditorFor(model => model.Price, new { htmlAttributes = new { @class = "form-control" } })
Сценарий Я использую, чтобы попытаться заполнить ProductId и цену полей следующим образом :
<script type="text/javascript">
$(document).ready(function() {
$('#ProductName').change(function() {
$('#ProductId').val($(this).val());
$('#Price').val($(this).val());
});
});
</script>
Но когда я делаю выбор выпадающего списка, ничего не происходит. Что я делаю не так? Любая помощь приветствуется.
Существуют ли эти ID-идентификаторы на этой странице? Выполняется ли обработчик 'change' вообще? – David
Я добавил идентификаторы (см. Выше). Тем не менее, ничего не происходит, когда я меняю список выпадающего списка. –