В настоящее время я изучаю разработку фронт-эндов на asp.net, и мне, кажется, не хватает фундаментального понимания, когда речь идет, в частности, о выпадающих списках.Моя цель состоит в том, что я считаю очень простым и понятным - создать выпадающий список Select2 с множественным выбором, который отправляет обратно значения выбранных элементов списка выбора.
По некоторым причинамЯ просто не могу понять, как это сделать, несмотря на чтение документов MS и аналогичных вопросов StackOverflow.Я могу создать выпадающий список, выбрать элементы и даже вернуть одно значение.Но я не могу получить значение item / s перед отправкой (для обработки js), чтобы я мог вернуть список (или объединенную строку) всех выбранных значений.
Мой код ниже, вы можетесм. в javascript, который я пытался получить доступ к значению / значениям по-разному, но значение даже не устанавливается на li в элементе inspect.
Было бы замечательно, если бы кто-то мог объяснить, какправильно сформировать этот выпадающий список, чтобы я мог получить нужные мне значения (80 или 81).
Контроллер
public ActionResult About()
{
AboutViewModel viewModel = new AboutViewModel();
viewModel.Movies = new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Honey I Shrunk The Kids",
Value = "80"
},
new SelectListItem()
{
Text = "Shrek 2",
Value = "81"
}
};
return View(AboutViewPage, viewModel);
}
[HttpPost]
public ActionResult About(AboutViewModel viewModel)
{
return View();
}
Просмотр
<div>
@using (Html.BeginForm("About", "Home"))
{
@Html.DropDownList("Result", new SelectList(Model.Movies, "Value","Text"), new { @class = "values js-example-basic-single", @multiple = "multiple", @Id="movies" });
<input type="submit" value="Submit" class="submit" onclick="collectMovies();" />
}
</div>
<script>
function collectMovies() {
var test1= $('.select2-selection__choice').val();
var testString = "";
for (var i = 0; i < test1.length; i++) {
testString += test1[i];
}
}
$(document).ready(function () {
$('.js-example-basic-single').select2();
});
</script>