2016-09-22 16 views
0

ラジオボタンの入力を作成しましたが、選択した入力の値を取得するのに苦労しました。ng-repeatによって作成された入力の値を取得

これは私が選択した値をとり、パラメータとして関数にそれを送りたい

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

と、このコントローラ

$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"} 
    ] 

でNG-モデルdefinitonを作成したラジオボタン入力でありますしかしこれまでのところ私は結果を得ることができませんでした。いけない入力で表現{{}}を使用

+0

'NG値= "{{item.value}}" は、' 'NG値="項目であるべきであるようにあなたのng-model変数を宣言.value "' – taguenizy

答えて

1

オブジェクト$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

私はコンソールに値を書いています。しかし、ラジオボタンを2回目にクリックすると、値はコンソールに書き込まれません。 –

+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" />

your working exampleを示し$scope.selectedValue

1

フィドルとコントローラでのアクセス:あなたのinputオン

、あなたの選択を保存する場所もあり、周囲を削除しますng-modelを追加{{}}{{item.value}}

<li> 
    <input type="radio" 
     ng-model="mySelection.selected" 
     name="rdbRisk" 
     ng-value="item.value" /> 
    {{item.text}} 
</li> 
関連する問題