【问题标题】:Data binding from radio buttons angularjs来自单选按钮 angularjs 的数据绑定
【发布时间】:2015-12-27 21:43:17
【问题描述】:

我试图用单选按钮制作一个表单。我使用角度,我想获得选中的单选按钮的值。我尝试使用 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”。我该如何解决这个问题?

谢谢。

【问题讨论】:

  • Soooo.... typeOfFood 确定在您的控制器中定义了吗? Def相同的情况等?!
  • 是的,大小写一样
  • 显示你的控制器
  • 我刚刚添加了控制器。
  • 你什么时候打电话给$scope.option?首次初始化控制器时,您没有将 $scope.typeOfFood 设置为任何值...

标签: javascript html angularjs angular-ngmodel


【解决方案1】:

你有几个错误:

你正在以一种糟糕的方式初始化 Angular 主模块,使用这个:

angular.module('demoApp',[])

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

您也不使用 ng-controllerng-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>

代码笔: http://codepen.io/armellajuan/pen/QyKPpO

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

【讨论】:

  • 我不想创建控制器,我想找到早期创建的“demoApp”。 ng-controller 和 ng-app 在“索引”中初始化。控制器的定义没问题。感谢您的帮助。
  • 我用按钮更新了代码以查看 typeOfFood 的值。它正在工作,所以也许你在其他地方有另一个错误。你检查过控制台吗?
  • 我没有任何错误,但我发现了问题。它来自“data-toggle='buttons'”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多