访问输入元素错误的选择方向

时间:2013-01-26 06:38:39

标签: javascript jquery json cookies jquery-cookie

我正在尝试将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中,我的方法是否正确?

由于

1 个答案:

答案 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之后没有','你也没有正确使用序列化函数,以及场景对象中的错误赋值