ASP.NET MVC Как получить определенное поле выбранного объекта в JavaScript? - PullRequest
0 голосов
/ 27 февраля 2019

Для контроллера мне нужно извлечь CustomerID из этого списка выбора.

Для поведения страницы в javascript мне также необходимо получить год рождения клиента из выбранного объекта Customer (скажем, из поля Customer.DOB)

Как мне этого добиться?

<select id="customerSelector" name="CustomerID">
   <option selected="selected" value="-1">Select Customer</option>
   @foreach (Customer c in Model.Customers)
   {
      // display customers in selector list
   }
   <option value="@c.CustomerID">@CustomerFullName</option>
</select>

<script>
   // get selected customer year of birth
</script>

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете создать событие onChange для раскрывающегося списка и прочитать атрибут данных из выбранной опции следующим образом, используя jQuery:

select id="customerSelector" name="CustomerID">
   <option selected="selected" value="-1">Select Customer</option>
   @foreach (Customer c in Model.Customers)
   {
      <option data-birthyear="@c.BirthYear" value="@c.CustomerID">@CustomerFullName</option>
   }
</select>

, тогда ваш скрипт будет выглядеть так:

$('#customerSelector').change(function(){
    var birthYear = $(this).find(':selected').data('birthyear');
});

обратите внимание, это предполагает, что ваша модель содержит какое-то свойство, которое представляет год рождения клиента.Здесь я предположил, что класс Customer имеет свойство с именем BirthYear.Как упоминалось в комментариях, я бы также предложил использовать HTML-помощники для создания HTML-элементов при использовании .net mvc

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...