如何在页面刷新后从多个单选按钮中从JS中的localStorage检索数据?

时间:2016-08-25 13:22:16

标签: javascript jquery html5

这是我的第一个问题。温柔,如果有些错误,我很抱歉。谢谢。

我有一组单选按钮,这是HTML:

<div class="radio">
   <label for="a_a">
       <input type="radio" name="some_name" id="a_a" value="some_value">
   </label>
   <label for="a_b">
       <input type="radio" name="some_name" id="a_b" value="some_value">
   </label>
</div>
<div class="radio">
   <label for="b_b">
       <input type="radio" name="some_name" id="b_b" value="some_value">
   </label>
   <label for="b_c">
       <input type="radio" name="some_name" id="b_c" value="some_value">
   </label>
</div>

这是JS:

$(".radio label").on('click', function (e) {
     var input_id = $(this).children().attr('id');
     var input_value = $(this).children().attr('value');
     localStorage.setItem(input_value, input_id);
});
var itemID = localStorage.getItem("option");
    if (itemID !== null) {
        $("input[id=\"" + itemID + "\"]").click();
};

这很好用,但问题是我只获得了最后点击的单选按钮的id,问题是:如何从两组单选按钮中获取id。请注意,可能有两组以上的单选按钮。

谢谢。

1 个答案:

答案 0 :(得分:0)

你正在寻找这样的东西吗? https://jsfiddle.net/sxh0n7d1/15/

你想对这些值做什么?

window.onbeforeunload = function() {
     $('input[type="radio"]').each(function(){    
        var id = $(this).attr('id');
        var value = $(this).val();
       localStorage.setItem(id, value);
    }); 
}
window.onload = function() { 
    $('input[type="radio"]').each(function(){    
       var id = $(this).attr('id');
       var getValue = localStorage.getItem(id);
       alert("value = "+getValue+" id = "+id);
    }); 
}