簡體   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