之前我曾问过一个类似的问题,我问我是否可以在localStorage中保存一个复选框,但我刚刚发现了一个名为jStorage的jQuery的一部分 - 并且想知道我是否可以使用它来保存一对复选框我在我的网络应用程序中创建了吗?
HTML代码如下(对于复选框);
<li style = 'color: #FFFFFF;'>Notifications<span class = 'toggle'><input type = 'checkbox' class = 'toggle' name = 'notifications' id = 'notifications' /></span></li>
<li style = 'color: #FFFFFF;'>Preview<span class = 'toggle'><input type = 'checkbox' class = 'toggle' name = 'preview' id = 'preview' checked = "true" /></span></li>
我没有用于保存这些复选框状态的JavaScript代码 - 但是在我的.js文件中,我有两个函数 - saveSettings 和 loadSettings 。如果有办法保存复选框的状态,然后当用户重新访问网络应用程序时加载回页面,那么请告诉我,但我也可以创建一个新的功能,如果有必要,请告诉我哪个选项你在告诉我:)
修改
我的saveSettings函数(到目前为止)编码为这样;
function saveSettings(){
localStorage.name = $('#name').val();
localStorage.email = $('#email').val();
localStorage.telephone = $('#telephone').val();
localStorage.other = $('#other').val();
jQT.goBack();
return false;
}
并且我的loadSettings函数按此编码;
function loadSettings() {
$('#name').val(localStorage.name);
$('#email').val(localStorage.email);
$('#telephone').val(localStorage.telephone);
$('#other').val(localStorage.other);
}
END OF EDIT
提前多多感谢 - 非常感谢任何帮助xxx
答案 0 :(得分:0)
在saveSettings函数中,添加:
$.jStorage.set("notifications",$('#notifications').attr('checked'));
$.jStorage.set("preview",$('#preview').attr('checked'));
在你的loadSettings函数中,添加:
$.jStorage.get("notifications")?$('#notifications').attr('checked',$.jStorage.get("notifications")):false;
$.jStorage.get("preview")?$('#preview').attr('checked',$.jStorage.get("preview")):true;
由于我没有你的loadSettings()和saveSettings()代码函数,我无法帮助你。
请不要插件规范:
jStorage在Internet Explorer旧版本中使用可用的HTML5本地存储和userData行为。
如果浏览器不支持数据缓存,则不会引发异常 - 脚本仍然可以使用jStorage但是没有任何异常 实际存储。
答案 1 :(得分:0)
只是一个简单的解决方案:
保存
$.jsStorage.set('milk', $('.milk').prop('checked'));
要检索:
$('.milk').prop('checked',$.jsStorage.get('milk')==='true');
您的复选框
<input type="checkbox" class="milk" name="option1" value="Milk">