您好我已经创建了一个应用程序,其中所有单选按钮状态都保存在本地存储中。所有的单选按钮都有一个值,但是一旦我发送了保存的单选按钮值,我只收到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})
);
});
});
答案 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());
});
});