AngularJS:将单选按钮绑定到ng-model,在ng-repeat中带有角度

AngularJS : binding radio buttons to ng-model with angular in ng-repeat

本文关键字:ng-repeat 单选按钮 绑定 ng-model AngularJS      更新时间:2023-09-26

我目前正在学习角度.js遇到了一个问题。我根据从数据库中获取的项目列出单选按钮,当我单击其中任何一个时,我的模型都不会更新。我添加了一个输入进行测试,输入立即更新了模型。

知道我错过了什么吗?

更新:问题似乎来自引导和包装单选按钮的跨度。如果我删除跨度,模型会更新

<div ng-repeat="question in questionnaire">
  <div class="btn-group col-xs-offset-1 col-xs-2 col-sm-2" data-toggle="buttons">
    <span class="btn btn-primary">
      <input type="radio" name="question{{$index}}" ng-model="formData[$index]" ng-value="false"> No
    </span>
    <span class="btn btn-primary">
      <input type="radio" name="question{{$index}}" ng-model="formData[$index]" ng-value="true"> Yes
    </span>
    <input type="text" name="testEntry{{$index}}" ng-model="formData[$index]" />
  </div>
  {{formData}}
  <span ng-bind="question.QuestionPhrase" class="message col-xs-8 col-sm-8"></span>
</div>

所以事实证明,问题来自跨度。我将它们更改为标签,它起作用了。

这是代码:

<div ng-repeat="question in questionnaire">
                <div class="btn-group col-xs-offset-1 col-xs-2 col-sm-2" data-toggle="buttons">
                    <label class="btn btn-primary">
                        <input type="radio" name="question{{$index}}" ng-model="formData[$index]" value="false"> No
                    </label>
                    <label class="btn btn-primary">
                        <input type="radio" name="question{{$index}}" ng-model="formData[$index]" value="true"> Yes
                    </label>
                </div>
                {{formData}}
                <span ng-bind="question.QuestionPhrase" class="message col-xs-8 col-sm-8"></span>
                <br /><br /><br />
            </div>