AngularJS :在 ng-repeat 中使用 angular 将单选按钮绑定到 ng-model
AngularJS : binding radio buttons to ng-model with angular in ng-repeat
我目前正在学习 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>
原来问题出在跨度上。我将它们更改为标签并且有效。
代码如下:
<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>
我目前正在学习 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>
原来问题出在跨度上。我将它们更改为标签并且有效。
代码如下:
<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>