3

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に保存することについての私のアプローチは正しいですか?

ありがとう

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 に答える