2017-08-08 2 views
0

J'essaie de sauvegarder l'état de la case à cocher même après l'actualisation de la page. Je peux obtenir l'index de chaque case à cocher dynamique afin que je sache quelle case est cochée, mais je ne peux pas obtenir la case à cocher pour rester le même même après l'actualisation de la page. J'ai essayé d'utiliser localStorage pour sauver localement, même si elle stocke la valeur, il ne tient pas case état même:Comment enregistrer l'état dynamique de la case à cocher après l'actualisation de la page?

Dynamic Case à cocher HTML:

<input type="checkbox" ng-model="checkbox[$index]" ng-change="alert($index)"> 

Get index dynamique des cases à cocher:

$scope.checkbox = []; //checkbox index 
$scope.alert = function(index, event){ 
    localStorage['checkbox'] = $scope.checkbox[index]; 
    alert("checkbox " + index + " is " + $scope.checkbox[index]); 

} 

// Vérifier les modifications et mettre à jour

localStorage.getItem("checkbox") ? 
JSON.parse(localStorage.getItem("checkbox")) : false; 

$scope.$watch(localStorage['checkbox'], function (newVal, oldVal) { 
    if (oldVal !== newVal) { 
    localStorage['checkbox'] = newVal; 
    } 
}); 
+0

vous devez ASIGN les valeurs sur init, vérifiez si localStorage ont des informations, puis ASIGN à chaque vérifier. –

Répondre

1

essayez cet extrait, besoin de faire une boucle depuis le contenu du localstorage si vous avez des informations et asign à chaque case à cocher.

EXEMPLE HTML

<p ng-repeat="check in checkBoxes track by $index"> 
    <label>{{$index}}</label> 
    <input type="checkbox" ng-model="checkBoxes[$index]" ng-change="valueChange()"/> 
</p> 

<pre>{{checkBoxes}}</pre>  

EXEMPLE SUR COMMANDE

$scope.checkBoxes = [false, false, false, false]; 

if(localStorage['checkBoxes']){ 
    $scope.checkBoxes = JSON.parse(localStorage.getItem("checkBoxes")); 
    console.log(localStorage['checkBoxes'].length); 
} 

$scope.valueChange =function(){ 
    localStorage.setItem("checkBoxes", JSON.stringify($scope.checkBoxes)); 
}; 

Sample Plnkr

+0

Mais comment se souvient-il de la case que j'ai sélectionnée une fois que j'ai actualisé la page? –

+0

laissez-moi faire un plnkr. –

+0

Vérifiez plnkr, et laissez-moi savoir si cela satisfait le cas d'utilisation. –