首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在重新加载角Js后,将javascript控制器中的复选框(选中或未选中)更新到html页面?

如何在重新加载角Js后,将javascript控制器中的复选框(选中或未选中)更新到html页面?
EN

Stack Overflow用户
提问于 2017-07-23 17:01:08
回答 1查看 1.6K关注 0票数 0

我是一个新的角度js和实现单页应用程序。我已经实现了一个复选框,当我选中复选框时,我希望在重新加载后保持复选框的状态。因此,当我单击复选框,然后通过角度js中的$on($destroy)将状态(选中或未选中)存储在会话中。

我见过一个链接Keep checkbox checked after page refresh AngularJS,但这在我的情况下行不通。

我正在分享我的示例代码。

代码语言:javascript
运行
复制
 <input type="checkbox" id="mycheckbox" class="checkbox style-0" name="mycheckbox" ng-model="mycheckbox" data-ng-change="confirm()" autocomplete="off"/>

控制器:

代码语言:javascript
运行
复制
$scope.confirm = function(){
  if($scope.mycheckbox== false)
  {
    sessionStorage.setItem("confirmCheck", $scope.mycheckbox);        
  }
  if($scope.mycheckbox== true){
    sessionStorage.setItem("confirmCheck", $scope.mycheckbox);       
  }
}
if(sessionStorage.confirmCheck == "true"){      
   $('#mycheckbox').prop('checked',true);
}else {
   $('#mycheckbox').prop('checked',false);
}

$scope.$on('$destroy',function(){
  sessionStorage.confirmCheck=sessionStorage.getItem('confirmCheck');
     })

我能够在会话中存储复选框的状态,但我无法在HTML中更改状态--我导航到另一个页面并返回到以前的页面,然后值在角控制器中持久化,但在page.When页面中没有更新。请分享你的想法。提前谢谢。

EN

Stack Overflow用户

发布于 2017-07-23 17:19:55

我真的建议你避免把角和jQuery混在一起,而不是那样,你会更喜欢用角度来完成工作。

1)将会话存储检查值保存在可以从角模板访问的位置。

代码语言:javascript
运行
复制
$scope.isChecked = sessionStorage.getItem('confirmCheck');

第二,使用角度指令ngChecked。

代码语言:javascript
运行
复制
<input type="checkbox" ng-checked="isChecked"></input>
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45267686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档