2014-12-10 16 views
42

Desidero rilevare se una casella di controllo è stata selezionata o deselezionata quando si verifica un clic sulla casella di controllo.rileva se la casella di controllo è selezionata o deselezionata in evento angularjs ng-change

Questo è quello che ho:

<input type="checkbox" ng-model="answers[item.questID]" ng-change="stateChanged()" /> 

E poi nel controller ho:

$scope.stateChanged = function() { 
    alert('test'); 
} 

sono in grado di sparare l'allarme quando faccio selezionare/deselezionare ma come posso rilevare lo stato della casella di controllo? Ho fatto qualche ricerca per trovare un problema simile ma non sono riuscito a ottenere ciò di cui ho bisogno.

Grazie, Laziale

risposta

64

si potrebbe utilizzare il (answers[item.questID]) Valore legato ng-model se stesso in il tuo metodo ng-change per rilevare se è stato controllato o meno.

Esempio: -

<input type="checkbox" ng-model="answers[item.questID]" 
    ng-change="stateChanged(item.questID)" /> <!-- Pass the specific id --> 

e

$scope.stateChanged = function (qId) { 
    if($scope.answers[qId]){ //If it is checked 
     alert('test'); 
    } 
} 
+3

sì che era la correzione, grazie, io selezionare la vostra risposta in 8 minuti. – Laziale

+0

Sicuro. Prego.. – PSL

0

Lo stato della casella di controllo si rifletteranno su qualunque modello lo avete legato a, in questo caso, $scope.answers[item.questID]

Problemi correlati