#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
Я хочу обновить другие элементы управления в форме, как только выберу переключатель.
Как мне заставить эти элементы управления вызывать контроллер, как только будет нажат переключатель. Отдельная кнопка отправки (ActionLink) не подходит.
Мой код
<label for="ApplicationTypes_Single">On your own?</label>
@Html.RadioButtonFor(x => x.ApplicationType, "Single", new { id = "ApplicationTypes_Single" })
<label for="ApplicationTypes_Joint">With someone else?</label>
@Html.RadioButtonFor(x => x.ApplicationType, "Joint", new { id="ApplicationTypes_Joint" })
элемент управления, зависящий от этого выбора, является
@if(Model.ApplicationType == AffordabilityPage1.ApplicationTypes.Joint)
{
@Html.LabelFor(model => model.SecondAge)
@Html.EditorFor(model => model.SecondAge)
}
Большое спасибо за любые предоставленные советы.
Ответ №1:
Для достижения этого вам нужен javascript. Например, если вы используете jquery, вы могли бы подписаться на событие изменения этих переключателей и предпринять некоторые действия:
$(function() {
$(':radio[id^="ApplicationTypes"]').change(function() {
var value = $(this).val(); // will equal Single or Joint
// Depending on what you are trying to achieve either send an AJAX request
// or force the submission of some form in order to send the new value to the server
});
});
Комментарии:
1. Я попробовал это, и, конечно же, это работает, мне еще многому предстоит научиться, например, как это закончить, но это отличное начало. Я уверен, что смогу найти пример того, как это сделать. Просто знать, что это правильный путь, — это прогресс. Большое спасибо.