所以我使用下面的代码刷新dropdownlist值更改的页面,并将值保存在本地存储中并再次加载:
<select class="CB" id="CB" disabled>
<option value="a">a</option>
<option value="b">b</option>
</select>
<script>
if(localStorage.getItem('CB')){
$('#CB').val(localStorage.getItem('CB'));
}
$('#CB').change(function(){
localStorage.setItem('CB',$('#CB').val() );
location.reload();
});
</script>
,但是由于某些原因,上面的代码无法用于复选框!复选框如何做类似的事情?
答案 0 :(得分:1)
如果您使用的是checkbox
而不是select
,则需要定位"checked" property。
var $CB = $('#CB');
if (localStorage.getItem('CB')) {
$CB.prop('checked', localStorage.getItem('CB') == 'true');
}
$CB.on('change', function() {
localStorage.setItem('CB', $CB.prop('checked'));
location.reload();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="CB">
StackSnippets don't provide access to localStorage
,因此here's a JSFiddle供演示。