按下按钮时获取所有值

时间:2014-05-08 13:58:04

标签: angularjs angularjs-ng-repeat

这是一个场景,我有几个列表项通过ng-repeat重复。当我们点击提交按钮时,我需要获取所选单选按钮(id,名称和描述)的所有信息。我知道我们可以使用单选按钮上的ng-change来实现这一点,但它不符合我的要求。我需要在点击提交按钮时获取它。

以下是plunker的链接:

http://plnkr.co/edit/YKtWm8kaLOIUfc09ZSCA?p=preview

 <form ng-submit="showData()">
      <ul>
        <li ng-repeat="list in lists">
          <input type="radio" name="radiogroup" ng-model="radioMod.value" value="{{list.id}}">
              {{list.name}}
              <br />
          <p>{{list.description}}</p>
        </li>
      </ul>
      <button type="submit">submit</button>
    </form>

我没有向控制器添加任何东西......

var myApp = angular.module('myApp', []);

myApp.controller('MainCtrl', function($scope) {

  $scope.lists = [
    {"id": 1, 'name' : 'radio1', 'description' : 'some text for radio1'},
    {"id": 2, 'name' : 'radio2', 'description' : 'some text for radio2'},
    {"id": 3, 'name' : 'radio3', 'description' : 'some text for radio3'}

  ];
});

感谢名单。

2 个答案:

答案 0 :(得分:0)

您可以在范围中放置listActive变量并将其绑定到选项:

<input type="radio" ng-model="$parent.listActive" value="{{list}}">

Here is a sample

答案 1 :(得分:0)

这是一个更新的Plunker:

http://plnkr.co/edit/OnHXect37Phij9VAB0ET

您需要使用 ng-value 将值设置为整个“list”对象,不需要额外的标记。