[英]AngularJS: Radio buttons in ng-repeat
按照我在此答案中找到的内容,我在ng-repeat
有一组单选按钮。 我只是不知道如何向它添加ng-model
。
<tr ng-repeat="service in selectservice.services track by $index">
<td>
<input type="radio" name="serviceSelections" ng-value="{{service.name}}" id="service{{service.name}}">
</td>
<td>
<h3>
{{service.name}}
</h3>
<p>{{service.caption}}</p>
</td>
</tr>
使用此控制器:
(function() {
'use strict';
angular.module('pb.ds.selectservice').controller('SelectServiceController', function($log) {
var _this = this;
_this.selectedService = 0;
_this.services = [
{
selected: false,
name: 'Postmates',
caption: 'Guaranteed delivery within time'
},
{
selected: true,
name: 'Deliv',
caption: 'Guaranteed delivery within time',
},
{
selected: false,
name: 'Roadie',
caption: 'Guaranteed delivery within time',
}
];
});
})();
并且,在我的路线中,对于这个观点:
content: {
controller: 'SelectServiceController as selectservice',
templateUrl: 'modules/select-service/templates/select-service.html'
},
无线电组正确显示选择的第二个无线电。 但是我如何更新模型? 什么,具体是型号? 我试过ng-model="selectservice.selectedService"
应该是0
,但是没有选择收音机。
您需要在控制器中有一个模型来为单选按钮组分配一个 ng-model。 在你的情况下应该是
_this.selectedService = "";
由于您似乎想要获取所选服务的名称。
像下面这样设置您的 HTML 将使其工作。
<tr ng-repeat="service in selectservice.services track by $index">
<td>
<input type="radio" ng-model="selectservice.selectedService" value="{{service.name}}" id="service{{service.name}}">
</td>
<td>
{{service.name}}
<p>{{service.caption}}</p>
</td>
</tr>
在您选中任何按钮之后,您的 _this.selectedService 将更新为相应按钮的名称。 因此,如果您选择“Deliv”单选按钮,您的 _this.selectedService 将获得值“Deliv”。 我希望找到你的答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.