AngularJS: значение формы привязки ng-model-options при Submit не работает с несколькими вариантами выбора

0

У меня есть форма с тремя переключателями и отложенная привязка к модели при нажатии кнопки submit. Живой пример здесь

Это прекрасно работает в сценарии счастливого пути:

  1. Выберите radio1 > click submit в результате получим radio1.

Но в следующем сценарии он ломается:

  1. Выберите radio1> нажмите submit>, чтобы передать radio1
  2. Теперь выберите radio2 > then radio3 > и нажмите кнопку submit.
  3. Это дает radio2 вместо radio3 как значение границы.

В принципе, если я делаю несколько изменений в радиогруппе, захватывается только первое изменение. Как я могу изменить это поведение, чтобы вместо этого отразить последнее изменение?

Теги:
data-binding
angular-ngmodel
options

1 ответ

2
Лучший ответ

Вы должны использовать 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

  • 0
    Brilliant. Это работает как шарм. Я должен был прочитать лучше. Благодаря тонну!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню