[英]How to get radio button selected value from dynamically generated radio buttons?
Hi I am developing web application in angularjs. 嗨,我正在用angularjs开发Web应用程序。 I am generating radiobuttons dynamically using ng-repeat as below. 我正在使用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()" />
I am trying to get selected radio button as below. 我试图如下所示选择单选按钮。
$scope.apply=function()
{
var permname = $scope.name;
console.log($scope.level.perm_levelname);
}
I am getting error Cannot read property 'perm_levelname' of undefined. 我收到错误消息无法读取未定义的属性'perm_levelname'。 May i get help here to get selected radio button? 我可以在这里获得帮助以获取选定的单选按钮吗? Thank you 谢谢
group radio buttons by a name and specify a common scope variable for radio buttons ng-modal
按名称分组单选按钮,并为单选按钮指定公共作用域变量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()"/>
Use
ng-click
event for radio button to get current selected value and assign the value a scope object. 将ng-click
事件用于单选按钮可获取当前选定值,并将该值分配给作用域对象。 then get the value from saved scope abject while you click apply button. 然后在您单击“应用”按钮时从保存的范围中获取值。
DEMO: 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>
you should use radio button group like this-- 您应该使用这样的单选按钮组-
<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()"/>
And inside of Controller- 在控制器内部
$scope.radioButtonValue='';
$scope.apply=function()
{
var permname = $scope.name;
console.log($scope.radioButtonValue);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.