我有一个带有单选按钮的简单表单,它从服务器中提取值并循环显示它们以提供单选按钮:
<form ng-submit="createSubCategory(subcategory)">
<div ng-repeat="sub_category in event_sub_categories" >
<label class="item item-radio">
<input type="radio" ng-model="subcategory" ng-value="'{{sub_category}}'" >
<div class="radio-content">
<div class="item-content">
{{sub_category}}
</div>
<i class="radio-icon ion-checkmark"></i>
</div>
</label>
</div>
<div class="padding">
<button type="submit" class="button button-block button-positive">Continue</button>
</div>
</form>
表单完美显示。但是,我按下的单选按钮似乎并没有保存。这是createSubCategory方法:
$scope.createSubCategory = function(subcategory){
console.log(subcategory);
}
日志显示undefined
。填写表格后如何记录子类别?
答案 0 :(得分:7)
ng-repeat创建自己的范围。由于您将单选按钮绑定到subcategory
,因此填充的是ng-repeat范围的subcategory
字段,而不是控制器范围{{1} } field。
经验法则:
此外,ng-value需要一个角度表达式。
所以,在你的控制器中,有这个:
$scope.formModel = {};
在视图中:
<input type="radio" ng-model="formModel.subcategory" ng-value="sub_category" >