为什么不能保存价值?

时间:2016-05-09 09:31:47

标签: javascript jquery html

您好我已经创建了一个应用程序,其中所有单选按钮状态都保存在本地存储中。所有的单选按钮都有一个值,但是一旦我发送了保存的单选按钮值,我只收到0,而不是单选按钮值。但是,如果我按下至少一个单选按钮,则所有值都是正常的。如果选中单选按钮,我写了一个脚本,然后一个元素将收到一个值。那个脚本运行正常。所以我得出结论,我的jQuery代码不能正常工作。 这是jquery代码,用于保存单选按钮状态。

$(function()
{    $('input[type=radio]').each(function()
    {
        var state = JSON.parse( localStorage.getItem('radio_'  + $(this).attr('id')) );

        if (state) this.checked = state.checked;
    });
}); $(window).bind('unload', function()
{
    $('input[type=radio]').each(function()
    {        localStorage.setItem(
            'radio_' + $(this).attr('id'), JSON.stringify({checked: this.checked})
        );
    });
});

1 个答案:

答案 0 :(得分:1)

(我刚刚看到你修复了它,但我仍然会发布这个建议,因为它简化了你的代码。)

由于您正在处理单选按钮,我只会存储选定的值。无需显式循环遍历所有按钮。

$(function()
{    
    var value = localStorage.getItem('selected_radio');
    $('input[type=radio][value=' + value + ']').prop('checked', true);

    $(window).bind('unload', function()
    {
        localStorage.setItem('selected_radio', $('input[type=radio]:checked').first().val());
    });
});