繁体   English   中英

如何从动态生成的单选按钮中获取单选按钮选择的值?

[英]How to get radio button selected value from dynamically generated radio buttons?

嗨,我正在用angularjs开发Web应用程序。 我正在使用ng-repeat动态生成单选按钮,如下所示。

<ul>
    <li ng-repeat="level in permissions">
        <input name="level.perm_levelname" type="radio" ng-model="level.perm_levelname" value="{{level.perm_levelname}}"> {{level.perm_levelname}}
        <a ng-click="gotopermMap({permisssionID: level.id})">View</a>
    </li>
</ul>
<input type="button" value="APPLY" ng-click="apply()" />

我试图如下所示选择单选按钮。

 $scope.apply=function()
        {
            var permname = $scope.name;
            console.log($scope.level.perm_levelname);
        }

我收到错误消息无法读取未定义的属性'perm_levelname'。 我可以在这里获得帮助以获取选定的单选按钮吗? 谢谢

按名称分组单选按钮,并为单选按钮指定公共作用域变量ng-modal

   <ul>
     <li ng-repeat="level in permissions">
       <input name="myradiobtn" type="radio" ng-model="myradioBtnValue" ng-value="level.perm_levelname">
       {{level.perm_levelname}}
       <a ng-click="gotopermMap({permisssionID: level.id})">View</a>
     </li>
   </ul>
   <input type="button" value="APPLY" ng-click="apply()"/>

ng-click事件用于单选按钮可获取当前选定值,并将该值分配给作用域对象。 然后在您单击“应用”按钮时从保存的范围中获取值。

DEMO:

 function TodoCtrl($scope) { $scope.permissions= [{perm_levelname:"hai"},{perm_levelname:"bye"},{perm_levelname:"come"},{perm_levelname:"go"}] $scope.apply=function() { alert($scope.currecntClickValue); } $scope.currecntClick=function(currecntClickValue) { $scope.currecntClickValue=currecntClickValue.perm_levelname; } } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app> <h2>Todo</h2> <div ng-controller="TodoCtrl"> <ul> <li ng-repeat="level in permissions"> <input name="groupName" type="radio" ng-click="currecntClick(level)" ng-value="level.perm_levelname"> {{level.perm_levelname}} <a href="#" ng-click="gotopermMap({permisssionID: level.id})">View</a> </li> </ul> <input type="button" value="APPLY" ng-click="apply()"/> </div> </div> 

您应该使用这样的单选按钮组-

<ul>
     <li ng-repeat="level in permissions">
       <input name="btnGroup" type="radio" ng-model="radioButtonValue" value="{{level.perm_levelname}}">
       {{level.perm_levelname}}
       <a ng-click="gotopermMap({permisssionID: level.id})">View</a>
     </li>
   </ul>
   <input type="button" value="APPLY" ng-click="apply()"/>

在控制器内部

$scope.radioButtonValue='';

 $scope.apply=function()
        {
            var permname = $scope.name;
            console.log($scope.radioButtonValue);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM