2016-10-24 4 views
0

ボタンがチェックされているときにラジオボタンの値を取得しようとしています。 あなたはそれがng-repeatスコープ外のラジオボタンの値を取得する方法は?

<div ng-controller="myController as vm"> 
    <ul> 
    <li ng-repeat="c in vm.questionbox"> 
     <label for="ques{{$index}}"><input ng-model="$parent.mode" type="radio" name="question" id="ques{{$index}}" ng-value="{{c.value}}"> {{c.name}}</label> 
     <ul ng-show="mode == c.value"> 
      <li ng-repeat="(key, value) in c.answers"> 
      <label for="ans{{c.id}}{{$index+1}}"><input ng-model="$parent.result.value" value="{{value}}" type="radio" name="answer{{c.id}}" id="ans{{c.id}}{{$index+1}}"> {{value}}</label> 
      </li> 
     </ul> 
     <div>currently selected: {{result.value}}</div> 
    </li> 
    </ul> 
    <div>currently selected: {{result.value}}</div> 
</div> 

ngのリピート範囲の最初で正常に動作します。しかし、私はまた、ULタグ(外NG・リピート=「vm.questionboxでC」)の後に、この値を取得したいんだ見ることができるように。いくつかの解決策をお願いします。

あなたは、このリンクでは、完全なコードを見ることができます:http://plnkr.co/edit/Ovwh4M2COIuqDXaQVU5X?p=preview

+0

あなたは 'vm'を使用してみてください、モデルとして' $のparent.result.value'を使用しています。例: 'ng-model =" vm.resultValue "....

currently selected: {{vm.resultValue}}
'。それは動作するように見える、あなたはそれを見ることができます(http://plnkr.co/edit/uzeYBFt1yPmjJSytzjFB?p=preview) – Titus

+0

thx、それは正常に動作します。 –

答えて

0

保存リスト内の各ラジオボタンの結果:

はここで働いてplunkerです。

<li ng-repeat="(key, value) in c.answers"> 
    <label for="ans{{c.id}}{{$index+1}}"><input ng-model="c.selectedAnswer" value="{{value}}" type="radio" name="answer{{c.id}}" id="ans{{c.id}}{{$index+1}}"> {{value}}</label> 
</li> 

印刷シンプルngのリピートで選択した結果

<div>currently selected: <div ng-repeat="answer in vm.questionbox">{{answer.selectedAnswer}} </div></div> 

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

+0

非常に良い!これは私が探していたものです。ありがとう。 –

関連する問題