在sessionStorage中存储复选框值

时间:2014-12-23 20:50:54

标签: javascript jquery ajax checkbox session-storage

任何人都可以帮助我,我试图使用window.sessionStorage来存储复选框的状态。当用户从page1转到page2,然后单击后退按钮转到page1时,我想要检查用户在进入page2之前检查的所有复选框。

此链接的页面底部有一个脚本,该脚本在localStorage或sessionStorage模式下工作 http://elikirk.com/store-form-data-with-html5-localstorage-and-jquery/

2 个答案:

答案 0 :(得分:1)

好吧,也许是你使用sessionstorage的方式...

http://www.w3schools.com/html/html5_webstorage.asp

以下是解释localstorage和sessionstorage的链接

如果没有,请发一个完整代码的JSFiddle(如果可能的话),这样我就可以调试你的代码......

答案 1 :(得分:1)

谢谢大家。我自己解决了。

   $('#id of the form').submit(function (ev) {
  sessionStorage.setItem('checkBoxesResult', $("#id of the form").serialize()); 
  });

if(sessionStorage.getItem("checkBoxesResult")) {

        var printVal = sessionStorage.getItem("checkBoxesResult");
        var checkBoxArray = [];
        if (printVal != null) {
        checkBoxArray = printVal.split("&");
        for( var i=0; i < checkBoxArray.length; i++ ) {

            var nv  = checkBoxArray[i].split("=")
            n = decodeURIComponent(nv[0]),
            v = nv.length > 1 ? decodeURIComponent(nv[1]) : null;

            selectedChkBox(n,v);
        }
    }
    }


   function selectedChkBox( chkbox, value ) {
      $("[name="+chkbox+"]").each( function() {   
     if ( $(this).val() ==  value )
        $(this).attr('checked', true);
     else
        if ( $(this).attr('checked') == true)
            $(this).attr('checked', false);
    });
     }