3

我正在尝试将 Javascript Array 对象保存在 cookie 中。但由于它不能正常工作,我在 json.js 文件中找到了 stringify() 函数。以下是我的代码:

$(".save").on('click', function(){          
var lhb = [], csb = [], cons = [], vb = [],
      txt = $("#accordion").find('textarea').serialize(),
      lbs = $('.lh:checked').each(function(){ lhb.push($(this).val()); }),
     cbs = $(".cs:checked").each(function(){ csb.push($(this).val()); }),
     cs = $(".cons:checked").each(function(){ cons.push($(this).val()); });
     vs = $(".vul:checked").each(function() { vb.push($(this).val()); });
     scenario = { 
        "textArea" : txt
        "lbs" : lbs,
        "cbs" : cbs, 
        "cs" : cs,
        "vs" : vs
    },
    cardId = $(this).parent().get(0).id;
    save(cardId, scenario);
    retreive(cardId);
});

现在在save函数中,我使用 json.js 将场景转换为 JSON 对象

function save(cardId, formData){
    $.cookie(cardId, JSON.stringify(formData), { expires: 7, path: '/' });
}

这给了我以下错误:

Accessing selection direction on an input element that cannot have a selection.

谁能帮我解决这个错误。我的方法是否正确将 json 数组保存到 cookie 中?

谢谢

4

1 回答 1

1
$(".save").on('click', function(){          
    var lhb = [], csb = [], cons = [], vb = [],
        txt = $("#accordion").find('textarea').val();

    $('.lh:checked').each(function(){ 
        lhb.push($(this).val()); 
    });
    $(".cs:checked").each(function(){ 
        csb.push($(this).val()); 
    });
    $(".cons:checked").each(function(){ 
        cons.push($(this).val()); 
    });
    $(".vul:checked").each(function() { 
        vb.push($(this).val()); 
    });

    var scenario = { 
        "textArea" : txt,
        "lbs" : lhb,
        "cbs" : csb, 
        "cs" : cons,
        "vs" : vb
    }

    var cardId = $(this).parent().attr('id');

    save(cardId, scenario);
    retreive(cardId);
});

你在场景对象中有语法错误,在txt之后没有'',你也没有正确使用序列化函数,以及场景对象中的错误分配

于 2013-01-26T07:24:31.477 回答