【发布时间】:2016-08-24 15:27:39
【问题描述】:
我对 AngularJS 还是很陌生,不得不接手别人的工作项目,几乎没有文档。
我的应用程序中有两种复选框,一种是“全选”复选框,另一种是设备选择复选框。顾名思义,全选将选择它下面列出的所有设备,如果我取消选中“全选”复选框,我可以单独检查设备以查看它们。
这里是全选复选框的代码 -
<input type="checkbox" data-ng-model='devCtrl.uiChoices.selectAll' value='true' data-ng-change="devCtrl.selectAll()"/><h4>Select / Deselect All</h4>
控制器:
_this.uiChoices.selectAll = true;
我从上面可以理解,默认情况下,全选被选中,我可以看到它下面的所有设备也被选中。
移动到设备复选框 -
<input type="checkbox" data-ng-model='device.draw' data-ng-change="device = devCtrl.adjustVisibility(device)" />
控制器 -
_this.adjustVisibility = function(draw) {
draw.marker.setVisible(draw.plot);
return draw;
}
基本上,无论何时选择设备,它都会出现在谷歌地图上。如果未选中,则不会出现在地图上。
我的问题是,在我取消选中“全选”复选框,然后在下面的列表中仅选择 2 个设备然后刷新页面后,我希望禁用全选并仅显示要检查的这 2 个设备并显示在地图上。
设备列表正在从 MySQL 数据库中提取并动态更新。
感谢任何帮助。
【问题讨论】:
-
对于 angularJS 上的持久数据,您可以使用 3 种方式:localStorage;实现一个 Angular 服务;或者在 $scope 变量上保留你需要的东西。你试过吗?
-
我尝试使用此处发布的 $scope 变量技术 - stackoverflow.com/questions/24638375/… 但它对我不起作用。你有使用 localStorage 或 Angular 服务的示例吗?
-
将其作为答案发布。希望对您有所帮助!
标签: javascript angularjs checkbox