У меня есть форма с тремя переключателями и отложенная привязка к модели при нажатии кнопки submit. Живой пример здесь
Это прекрасно работает в сценарии счастливого пути:
radio1
> click submit
в результате получим radio1
.Но в следующем сценарии он ломается:
radio1
radio2
> then radio3
> и нажмите кнопку submit
.radio2
вместо radio3
как значение границы.В принципе, если я делаю несколько изменений в радиогруппе, захватывается только первое изменение. Как я могу изменить это поведение, чтобы вместо этого отразить последнее изменение?
Вы должны использовать allowInvalid: true в ngModelOptions для правильной проверки корректности, а не для поведения по умолчанию для установки неопределенной модели. См. Документацию.
<input type="radio" name="radio" value="radio1" ng-model="radioValue" ng-model-options="{updateOn: 'submit', allowInvalid : true}" >
<input type="radio" name="radio" value="radio2" ng-model="radioValue" ng-model-options="{updateOn: 'submit', allowInvalid : true}">
<input type="radio" name="radio" value="radio3" ng-model="radioValue" ng-model-options="{updateOn: 'submit', allowInvalid : true}">
Рабочая ссылка Plunker