#c# #asp.net #asp.net-mvc #asp.net-core #asp.net-mvc-4
#c# #asp.net #asp.net-mvc #asp.net-ядро #asp.net-mvc-4
Вопрос:
У меня есть два выпадающих списка, и я заполнил их следующим образом :
private List<Client> Client()
{
var allClients= _db.tboClient.Select(x =>
new Tecnico
{
Id = x.Id,
Nome = x.Nome
}).ToList();
return allClients;
}
private List<Pricerice> Price()
{
var allPrice = _db.tboPrice.Select(x =>
new Cliente
{
Id = x.Id,
Nome_azienda = x.Nome_azienda
}).ToList();
return allPrice ;
}
А затем некоторые методы, которые я помню Client()
и Price()
. Я загружаю представление следующим образом :
public IActionResult Create()
{
ViewBag.Price= Pricei();
ViewBag.Clienti = CLienti();
return View();
}
Это HTML:
<div class="dropdown">
@Html.DropDownListFor(m => m.CLienti, new SelectList(ViewBag.CLienti, "Id", "Nome_azienda"), new { @id = "ddlCLienti", @class = "btn btn-primary dropdown-toggle mr-3" })
</div>
<div class="dropdown">
@Html.DropDownListFor(m => m.Price, new SelectList(ViewBag.Price, "Id", "Nome"), new { @id = "ddlClienti", @class = "btn btn-primary dropdown-toggle mr-3" })
</div>
Я хочу заполнить второй (цена) выпадающий список на основе значения, выбранного из первого выпадающего списка.
Комментарии:
1. Пожалуйста, обратите внимание, что вы устанавливаете один и тот же идентификатор » ddlClienti » для двух выпадающих списков, второй может быть » ddlPrice «.
Ответ №1:
Я хочу заполнить второй (цена) выпадающий список на основе значения, выбранного из первого выпадающего списка.
Чтобы выполнить вышеуказанное требование реализации каскадного выпадающего списка, вы можете попытаться заполнить второй выпадающий список на основе предыдущего выбора первого выпадающего списка в событии dorpdown «ddlCLienti», change
как показано ниже.
<script>
$(function () {
$("select#ddlCLienti").change(function () {
var CLienti = $(this).val();
$("select#ddlPrice").empty();
$.getJSON(`/your_controller_name_here/GetPriceBySelectedCLienti?CLienti=${CLienti}`, function (data) {
//console.log(data);
$.each(data, function (i, item) {
$("select#ddlPrice").append(`<option value="${item.id}">${item.nome}</option>`);
});
});
})
})
</script>
GetPriceBySelectedCLienti
метод действия
public List<Price> GetPriceBySelectedCLienti(int CLienti)
{
//query data based on selected CLienti
//...