繁体   English   中英

如何在本地保存javascript变量?

[英]How can I save javascript variables locally?

我是Javascript / Jquery的初学者,并且使用jquery mobile和jquery制作了一个移动Web应用程序,但我不知道如何在一个地方显示所有输入。 无论我在表格中输入多少数据,它始终会显示最后输入的内容。

$(document).ready(function() {
   if(localStorage['linrval'],localStorage['linrdate']){
      $('#inrhist').prepend('<div class="inrval">'+localStorage['linrdate']+ '  ----  '   +localStorage['linrval']+ '</div>');
   };

$('#inrbtn').click(function(){
   var inrval=$('input[name=user]').val();
   var inrdate=$('input[name=dateinr]').val();
   localStorage.setItem('linrval',inrval);
   localStorage.setItem('linrdate',inrdate);
   $('#inrhist').prepend('<div class="inrval">'+inrdate+ '  ----  ' +inrval+ '</div>');
   });

你有这个:

if(localStorage['linrval'],localStorage['linrdate']){...}

仅当localStorage['linrdate']为true时,此表达式才为true。 基本上会忽略localStorage['linrval']的值。

也许您想要这样:

if( localStorage['linrval'] || localStorage['linrdate'] ){...}
                            ^^

您还将覆盖您的localStorage值:

localStorage.setItem('linrval',inrval);
localStorage.setItem('linrdate',inrdate);

每当您需要添加到数组中而不是使用相同属性更新item值时,都需要在此处进行一些更改。 localStorage仅支持字符串。

   $(document).ready(function() {

            //localStorage.removeItem("users");

        var userStr = localStorage.getItem('users');

        if (userStr != null && userStr != undefined) {
            var jsonObj = JSON.parse(userStr);

            console.log("onload value", jsonObj);

            $.each(jsonObj.items, function(i, item) {
                $('#inrhist').prepend('<div class="inrval">'+item.user +'--'+item.dateinr+'</div>');
             });
        }

        $('#inrbtn').click(function () {

            var dataItems = { items: [] };

            var inrval = $('input[name=user]').val();
            var inrdate = $('input[name=dateinr]').val();

            var item = { user: inrval, dateinr: inrdate };

            var usersList = localStorage.getItem('users');

            var jsonObj;

            if (usersList == null) {
                dataItems.items.push(item);                  
                jsonObj = JSON.parse(JSON.stringify(dataItems));
            }
            else {
                jsonObj = JSON.parse(usersList);
                jsonObj.items.push(item);
            }

            jsonStr = JSON.stringify(jsonObj);

            console.log(jsonStr);

            localStorage.setItem("users", jsonStr);

            $('#inrhist').prepend('<div class="inrval">' + inrdate + '--' + inrval + '</div>');

        });

    });

现场演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM