AngularJS:将单选按钮绑定到具有ng-repeat角度的ng-model

时间:2015-06-10 19:23:13

标签: javascript angularjs angularjs-ng-repeat angularjs-ng-model

我目前正在学习angular.js,而且我遇到了问题。我根据从数据库中提取的项目列出了单选按钮,当我点击其中任何一个时,我的模型都没有更新。我添加了一个输入来测试,输入立即更新了模型。

知道我错过了什么吗?

更新:问题似乎来自bootstrap和包裹单选按钮的跨度。如果我删除了跨度模型得到更新

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

1 个答案:

答案 0 :(得分:2)

事实证明问题来自跨度。我将它们更改为标签并且有效。

以下是代码:

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