【问题标题】:AngularJS: ng-model-options bind form value on Submit doesn't work with multiple selectionsAngularJS:ng-model-options 在提交时绑定表单值不适用于多项选择
【发布时间】:2016-02-28 19:49:11
【问题描述】:

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

这在快乐路径场景中非常有效:

  1. 选择radio1 > 点击submit 得到radio1 作为结果。

但在以下情况下它会中断:

  1. 选择radio1>点击提交>给radio1
  2. 现在选择radio2 > 然后选择radio3 > 然后点击submit
  3. 这给出了radio2 而不是radio3 作为绑定值。

基本上,如果我对无线电组进行多项更改,则只会捕获 first 更改。如何更改此行为以反映 last 更改?

【问题讨论】:

    标签: angularjs data-binding options angular-ngmodel


    【解决方案1】:

    您必须在 ngModelOptions 中使用 allowInvalid : true 来正确验证,而不是使用将模型设置为未定义的默认行为。见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}">
    

    工作小伙伴Link

    【讨论】:

    • 太棒了。这就像一个魅力。我应该读得更好。非常感谢!
    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 2017-01-30
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多