AngularJS:ng-model-options绑定提交表单上的表单值并不适用于多个选项

时间:2015-11-25 21:04:19

标签: angularjs data-binding options angular-ngmodel

我有一个带有三个单选按钮的表单,并且在单击提交时延迟绑定到模型。实例here

这在快乐路径场景中完美无缺:

  1. 选择radio1>点击submitradio1作为结果。
  2. 但是在下面的场景中它会破坏:

    1. 选择radio1>点击提交>给出radio1
    2. 现在选择radio2>然后radio3>然后单击submit
    3. 这会将radio2代替radio3作为绑定值。
    4. 基本上,如果我对广播组进行多项更改,则只会捕获第一个更改。如何更改此行为以反映最后更改?

1 个答案:

答案 0 :(得分:2)

您必须在ngModelOptions中使用allowInvalid:true才能正确验证,而不是将模型设置为undefined的默认行为。请参阅documentation

<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 Link