【发布时间】:2017-08-10 02:20:44
【问题描述】:
即使在刷新页面后,我仍在尝试保存复选框的状态。我可以获得每个动态复选框的索引,因此我知道选中了哪个复选框,但是即使在页面刷新后我也无法使复选框保持不变。我尝试使用 localStorage 在本地保存,即使它存储了值,它也不会保持复选框状态相同:
动态复选框 HTML:
<input type="checkbox" ng-model="checkbox[$index]" ng-change="alert($index)">
获取动态复选框索引:
$scope.checkbox = []; //checkbox index
$scope.alert = function(index, event){
localStorage['checkbox'] = $scope.checkbox[index];
alert("checkbox " + index + " is " + $scope.checkbox[index]);
}
//检查更改并更新
localStorage.getItem("checkbox") ?
JSON.parse(localStorage.getItem("checkbox")) : false;
$scope.$watch(localStorage['checkbox'], function (newVal, oldVal) {
if (oldVal !== newVal) {
localStorage['checkbox'] = newVal;
}
});
【问题讨论】:
-
您需要在init上分配值,检查localstorage是否有信息,然后分配给每个检查。
标签: javascript angularjs checkbox local-storage