我正在尝试将Javascript数组对象保存在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中,我的方法是否正确?
由于
答案 0 :(得分: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之后没有','你也没有正确使用序列化函数,以及场景对象中的错误赋值