来自单选按钮angularjs的数据绑定

时间:2015-12-27 21:43:17

标签: javascript html angularjs angular-ngmodel

我尝试使用单选按钮制作表单。我使用angular,我想获得已检查单选按钮的值。我尝试使用ng-model,但这不起作用。

代码:

<div class="btn-group" data-toggle="buttons">
  <label class="btn btn-default active" style="width: 100%">
    <input ng-model="typeOfFood" type="radio" checked="checked" ng-value="'recomandation'" /> Recomandations
  </label>
  <label class="btn btn-default" style="width: 100%">
    <input ng-model="typeOfFood" type="radio" ng-value="'apperitive'"/> Apperitives
  </label>
  <label class="btn btn-default" style="width: 100%">
    <input ng-model="typeOfFood" type="radio" ng-value="'main'"/> Mains
  </label>
  <label class="btn btn-default" style="width: 100%">
    <input ng-model="typeOfFood" type="radio" id="desserts" ng-value="'dessert'"/> Desserts
  </label>
</div>

控制器:

angular.module('demoApp')
  .controller('MenuCtrl', function ($scope) {
    $scope.typeOfFood;

    $scope.option = function() {
      console.log($scope.typeOfFood);
    }
  });

我在控制器中收到了未定义的变量“typeOfFood”。我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

您有几个错误:

您正在以一种糟糕的方式初始化角度主模块,请使用:

angular.module('demoApp',[])

如果没有数组,您将尝试查找demoApp而不是创建新实例。

此外,您不能使用 ng-controller ng-app 指令。

如果您想使用选项功能,请使用 ng-click 指令调用它:

 <label class="btn btn-default" style="width: 100%">
      <input ng-click="option()" ng-model="typeOfFood" type="radio" id="desserts" ng-value="'dessert'" /> Desserts
    </label>

<强> Codepen: http://codepen.io/armellajuan/pen/QyKPpO

也许这本书会帮助你了解这些细节: http://www.angularjsbook.com/angular-basics/chapters/introduction/