0

我之前问过一个类似的问题,我问我是否可以在 localStorage 中保存一个复选框,但我最近才发现 jQuery 的一部分称为 jStorage - 并且想知道我是否可以使用它来保存我创建的一对复选框在我的网络应用程序中?

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 文件中,我有两个函数 - saveSettingsloadSettings。如果有办法保存复选框的状态,然后在用户重新访问网络应用程序时重新加载到页面上,那么请告诉我,但如果需要我也可以创建一个新功能,请告诉我哪个选项你在告诉我:)

编辑

我的 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);

 }

编辑结束

非常感谢 - 任何帮助都非常感谢xxx

4

2 回答 2

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 利用可用的 HTML5 本地存储和 Internet Explorer 旧版本中的 userData 行为。

如果浏览器不支持数据缓存,则不会引发异常——脚本仍然可以使用 jStorage,但实际上没有存储任何内容。

于 2012-10-17T13:31:35.850 回答
0

只是一个更简单的解决方案:

保存

$.jsStorage.set('milk', $('.milk').prop('checked'));

检索:

$('.milk').prop('checked',$.jsStorage.get('milk')==='true');

你的复选框是

<input type="checkbox" class="milk" name="option1" value="Milk">
于 2012-10-17T16:31:53.140 回答