2016-09-22 36 views
0

我创建了一个单选按钮输入,但努力获取所选输入的值。获取由ng-repeat创建的输入的值

这是单选按钮输入我创建

<ul ng-repeat="item in riskModel"> 
    <li> 
     <input type="radio" name="rdbRisk" ng-value="{{item.value}}" /> 
     {{item.text}} 
    </li> 
</ul> 

和在控制器此NG-模型definiton

$scope.riskModel = [ 
     { id: 0, text: "A", value: "" }, 
     { id: 1, text: "B Risk", value: "YR" }, 
     { id: 2, text: "C Risk", value: "OR" }, 
     {id:3,text:"D Risk",value:"DR"} 
    ] 

我想利用所选择的值,并将其发送给一个函数作为参数但到目前为止,我没有得到任何结果。

+0

'纳克值= “{{item.value}}”'应该是'纳克值=“项.value“' – taguenizy

回答

1

声明你ng-model变量作为对象$scope.radioModel = {};

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

 
myApp.controller('GreetingController', ['$scope', function($scope) { 
 
    //$scope.radioModel = {}; 
 
    $scope.riskModel = [ 
 
     { id: 0, text: "A", value: "" }, 
 
     { id: 1, text: "B Risk", value: "YR" }, 
 
     { id: 2, text: "C Risk", value: "OR" }, 
 
     {id:3,text:"D Risk",value:"DR"} 
 
    ] 
 
    $scope.changeValue = function(value){ 
 
    console.log(value.selected); 
 
    } 
 
    
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="myApp"> 
 
    <div ng-controller="GreetingController" ng-init="radioModel={}"> 
 
    Get selected value : {{radioModel.selected}} 
 
    <ul ng-repeat="item in riskModel"> 
 
    <li> 
 
     <input type="radio" ng-model="radioModel.selected" name="rdbRisk" ng-value="item.value" ng-change="changeValue(radioModel)"/> 
 
     {{item.text}} 
 
    </li> 
 
</ul> 
 
</div> 
 
</body>

+0

我正在向控制台写入数值,他们一开始工作的很好。但是当我第二次单击单选按钮时,值不会写入控制台。 –

+0

@EgeBayrak试试我的例子 –

+0

@EgeBayrak我认为你应该使用ngChange在你的控制器中获取选定的值,查看我的答案我也使用控制台来获取所选无线电的值。让我知道你是否仍然面临任何问题。 –

0

不使用在输入表达式{{}}

<input type="radio" name="rdbRisk" ng-value="item.value" /> 

DEMO

最好的选择是使用NG-模型,并获得所选择的值,

<input type="radio" ng-model="selected" name="rdbRisk"  ng-click="display(selected)" /> 

DEMO

+0

好的,但我仍然不知道如何采取输入值。我应该使用ng-change之类的东西吗?不知道它是否会在ng-repeat tbh中工作。 –

+0

@EgeBayrak使用ng-click – Sajeetharan

+0

@EgeBayrak是否有效? – Sajeetharan

1

你忘了ng-model

<input type="radio" ng-model="selectedValue" name="rdbRisk" ng-value="item.value" />

在控制器$scope.selectedValue

1

小提琴显示your working example访问:

在您input,加ng-model,这将是您要保存您的选择,并删除周边{{}} on {{item.value}}

<li> 
    <input type="radio" 
     ng-model="mySelection.selected" 
     name="rdbRisk" 
     ng-value="item.value" /> 
    {{item.text}} 
</li>