即使页面刷新后仍保持复选框被选中?
问题描述:
我已经写了if
条件勾选复选框:即使页面刷新后仍保持复选框被选中?
$('input[type="checkbox"]').click(function() {
if (this.id == "internships" && this.checked) {
window.location.href = "<?php echo Yii::app()->createAbsoluteUrl('job/internships'); ?>";
}
else {
window.location.href = "<?php echo Yii::app()->createAbsoluteUrl('job/internships'); ?>";
}
});
现在我要确保,即使页面刷新后的复选框,除非I /用户这样做不会改变其状态。我怎样才能做到这一点?
答
您可能只想生成已设置checked
属性的复选框。 按照你的代码风格,它会像
<?php
// prepare a string to be inserted.
// it will be either empty, or a nonempty "checked" attribute
$shouldBeChecked = is_this_the_internship_page() ? 'checked="checked"' : '';
?>
然后......
<input type="checkbox" <?php echo $shouldBeChecked; ?> >
如果我记得正确的PHP :-)
参见:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox
而且,在撰写此答案时,您的JS包含两个相同的重定向。
答
制作使用的localStorage的
JS
$('#check').on('click', function(){
if(localStorage.getItem("checkedbox") == 'true') {
$(this).prop(checked, 'false');
localStorage.setItem("checkedbox", 'false');
}
else {
$(this).prop(checked, 'true');
localStorage.setItem("checkedbox", 'true');
}
})
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type = "checkbox" id="check"/>
通过GET参数的URL,并以此为基础进行传递的值 –
你需要休息在某处存储复选框的状态。您可以使用URL参数,localStorage,sessionStorage,cookie或服务器端数据库。选择是你的。 –
你可以告诉我如何在我的代码中使用localstorage来完成它。 – lakshay