У меня есть тэг select с несколькими параметрами, и каждый из опций обозначается значением.Передавать выпадающие значения списка из представления в контроллер
<select id="dropdown">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
Кроме того, у меня есть следующий сценарий JQuery.
$(function() {
$(#dropdown).change(function() {
var option = $(this).find("option:selected").text();
var optionValue = $(this).val();
Я проверил оба значения, используя «предупреждение», и они верны. Теперь я хочу передать эти значения из представления в контроллер. Я помещал тег select в форму и пытался использовать «.submit()» для обоих значений, но это приводит к сбою сценария. Я не уверен, правильно ли использую «.submit()», поскольку я начинаю работать в JavaScript и JQuery. Короче говоря, как я могу получить значение тега опции в методе моего контроллера?
EDIT 1
Отборные метки в форме, и я пытался представить, как это:
$(this).val().submit()
EDIT 2
Кроме того, здесь метод контроллера, который я пытаюсь получить.
[HttpPost]
public ActionResult Index(string dropdown)
{
string value = dropdown;
//--- conditional logic ---
return View()
}
Не могли бы вы показать код, в котором вы делаете .submit()? – Thargor
используйте 'form' для отправки значения или при использовании jQuery, тогда вы можете использовать' jQuery.ajax() 'для отправки значений контроллеру. – Jai
Вам не нужно выбирать выбранную опцию через Javascript. Если вы добавите имя в элемент select и кнопку отправки в вашу форму, MVC будет следить за ним для вас. Проще всего было бы создать модель, содержащую свойство строки с тем же именем, что и ваш элемент select. Если вы хотите использовать проверку на элементе select, я бы рекомендовал использовать DataAnnotations через модель. – MartijnK