我有一个带有 ON/OFF 复选框的配置页面,我想控制菜单中的项目是隐藏还是显示。
菜单部分示例:
<ul class="accordion">
<li id="whyReplace"><a href="#">header</a>
<ul class="sub-menu">
<li><a href="#"><em>01</em> sub1</a></li>
<li><a href="#"><em>02</em> sub2</a></li>
<li><a href="#"><em>03</em> sub3</a></li>
</ul>
</li>
</ul>
开/关复选框示例:
<div class="control-group">
<div class="controls">
<label class="checkbox">
<div class="switch">
<input data-toggle-id="whyReplace" type="checkbox" checked />
</div>
Why should you replace?
</label>
</div>
</div>
默认情况下,所有选项都被选中,因为我希望所有菜单标题都可见。从这里我想在本地存储中存储对复选框的任何更改,如果他们决定关闭按钮,那么 .hide(); 使用匹配的 data-toggle-id 的相应标头。
我正在查看此页面以寻求帮助,但它只能帮助我完成我需要的一半:
我必须为这个项目补充一点,我正在使用 Phonegap 和 xcode 将其发布为 iPad 应用程序,所以我一直在 Safari 中进行测试。这些保存的变量也需要在所有其他页面中保持不变,因此菜单可以根据打开/关闭的按钮进行自定义。
使用类似的东西:
$(document).ready(function() {
var storage = window.localStorage;
for (var key in storage) {
var menuhead = storage[key];
if ($(menuhead).attr("checked") {
$('li#' + menuhead).show();
} else {
$('li#' + menuhead).hide();
}
}
});
我需要知道如何将复选框存储在要隐藏(关闭)的 localstorage 中,循环遍历这些存储的变量,然后 .hide(); id 与 data-toggle-id 匹配的菜单项。