【问题标题】:ng-model not working with radio buttons in angularng-model 不能使用角度的单选按钮
【发布时间】:2016-08-12 06:10:26
【问题描述】:

我有一个带有单选按钮的简单表单,它从服务器中提取值并循环通过它们以提供单选按钮:

<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。填写表格后如何获取要记录的子类别?

【问题讨论】:

    标签: angularjs angularjs-controller angular-ngmodel angularjs-ng-model ng-submit


    【解决方案1】:

    ng-repeat 创建自己的范围。由于您将单选按钮绑定到 subcategory,因此填充的是 ng-repeat 范围的 subcategory 字段,而不是控制器范围的 subcategory 字段。

    经验法则:

    • 在您的 ng-model 中总是有一个点
    • 始终创建包含您要绑定的字段的对象

    另外,ng-value 需要一个角度表达式。

    所以,在你的控制器中,有这个:

    $scope.formModel = {};
    

    在视图中:

    <input type="radio" ng-model="formModel.subcategory" ng-value="sub_category" >
    

    【讨论】:

    • 可能是堆栈溢出问题上最好、最直接的答案。谢谢。
    猜你喜欢
    • 2014-07-12
    • 2017-05-01
    • 2016-01-30
    • 2014-06-10
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2015-10-13
    相关资源
    最近更新 更多