【问题标题】:Saving checkbox state using ng-change AngularJs使用 ng-change AngularJs 保存复选框状态
【发布时间】:2016-10-08 11:35:03
【问题描述】:

我想在用户打开/关闭应用程序时保存清单的状态。

这是我第一次在 AngularJs/Ionic 中使用复选框,我不知道该怎么做。

HTML

 <ion-checkbox class="recup checkbox-balanced"  ng-change="save(0)" ng-model="objc[0]">
      Récupéré ton badge
    </ion-checkbox>

    <ion-checkbox class="recup checkbox-balanced"  ng-change="save(1)" ng-model="objc[1]">
      Récupéré ton PC
    </ion-checkbox>

    <ion-checkbox class="recup checkbox-balanced"  ng-change="save(2)" ng-model="objc[2]">
      Visité les locaux
    </ion-checkbox>

JS

.controller('prem-jourController', function ($scope, localStorageService){

defaultValsJ= [false, false, false, false];
var EngObj=localStorageService.get("StoredCheck");
if(!EngObj)
{
    $scope.objc=defaultValsJ;
}
else {
    $scope.objc=EngObj;
}

$scope.save=function(val) {

    $scope.objc[val]=!$scope.objc[val];
    localStorageService.set("StoredCheck", $scope.objc);
}
});

状态已保存,但复选框不再可点击,并且我没有错误。

【问题讨论】:

  • 在什么情况下第二次或何时打开应用时无法点击复选框?

标签: javascript angularjs checkbox ionic-framework


【解决方案1】:

您保存更改的方式有误。 每次,当您单击复选框时,它都会更改。方法保存调用然后模型更改值。模型是双向绑定的,因此您的复选框再次取消选中/选中。

这就是为什么您看不到复选框更改状态的原因。

更改此行以修复:

$scope.objc[val]=!$scope.objc[val];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多