2014-11-09 20 views
5

Sono nuovo in angularjs.I voglio recuperare il valore pulsante di scelta quando l'utente clicca su un pulsante, ma la mia sfortuna sua non working.Here è il codiceOttenere valore pulsante di scelta quando si fa clic sul pulsante non funziona angularjs

<label class="item item-radio"> 
    <input type="radio" name="group" ng-model="user.answer" value="{{questions.quiz_ans_opt1}}"> 
    <div class="item-content item-body">a) {{questions.quiz_ans_opt1}}</div><i class="radio-icon ion-checkmark"></i> 
</label> 
<label class="item item-radio item-body"> 
    <input type="radio" name="group" ng-model="user.answer" value="{{questions.quiz_ans_opt2}}"> 
    <div class="item-content item-body">b) {{questions.quiz_ans_opt2}}</div><i class="radio-icon ion-checkmark"></i> 
</label> 
<button class="button button-balanced button-block" ng-click="submitAnswer(user)">Submit</button> 

Ecco regolatore

$scope.submitAnswer = function(user) { 
    //it output undefined error 
    alert(user); 
} 

anche io voglio disabilitare il pulsante fino a quando un pulsante di opzione è selezionata, come posso raggiungere questo obiettivo?

+0

è possibile creare un plunkr con il tuo problema? –

risposta

1

Si prega di dare un'occhiata a questo,

Prova questa,

in HTML,

<body ng-controller="MainCtrl"> 
    <p>Hello {{name}}!</p> 
    <input type="radio" ng-model="user.answer" ng-value="'option a'"> 
    <label>option a</label> 
    <br> 
    <input type="radio" ng-model="user.answer" ng-value="'option b'"> 
    <label>option b</label> 
    <br> 
    <input type="radio" ng-model="user.answer" ng-value="'option c'"> 
    <label>option c</label> 
    <br> 
    <input type="radio" ng-model="user.answer" ng-value="'option d'"> 
    <label>option d</label> 
    <br> 
    <button ng-disabled="!user.answer" ng-click="submitAnswer(user)">Submit</button> 
</body> 

In app.js,

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

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 
    $scope.submitAnswer=function(user){ 

    alert(user.answer); 

    } 
}); 

Ecco la demo per plunker lo stesso

+0

Questo è ciò di cui ho bisogno grazie –

0

Anche se un po 'in ritardo, vorrei pubblicare un secondo approccio, dato che stai usando Ionic-Framework.

Se si dispone di un numero dinamico di opzioni per i pulsanti di opzione, che vengono gestiti dai dati di back-end [Anche se si dispone di un pulsante di opzione statico , è possibile convertirlo in formato formale], quindi si dovrebbe utilizzare Pulsanti di opzione di ionici:

IE, nel codice HTML:

<ion-radio ng-repeat="user in userAnswers" 
      ng-value="user.answer" 
      ng-model="finalAnswer"> 
    {{ item.text }} 
</ion-radio> 

E nel controller:

$scope.userAnswers = [ 
    { text: "Backbone", answer: "bb" }, 
    { text: "Angular", answer: "ng" }, 
    { text: "Ember", answer: "em" }, 
    { text: "Knockout", answer: "ko" } 
    ]; 

    $scope.finalAnswer = 'ng'; 

Maggiori dettagli possono essere fou nd nello official documentation e nello CodePen Demo

Problemi correlati