如何在页面重新加载后保持复选框切换div的状态?

我选中了一个复选框时会显示一个div,并在取消选中时隐藏。 如果表单有错误,页面会重新加载,即使在提交前选中了复选框,div也会显示为隐藏状态。 我可以添加对onLoad事件的调用,但有没有更简洁的方法来确保在页面重新加载后,div是根据复选框的状态呈现的?

CSS:

#maintenance-window { display: none; } 

jQuery的:

 $("#check-hasMaintenance").click(function() { $(this).is(":checked") ? $('#maintenance-window').show("fast") : $('#maintenance-window').hide("fast") }); 

HTML:

  
Stuff

选项1

确保在页面加载时根据复选框显示div:

 $(document).ready(function() { // Modified for readability - inline if is fine. if($("#check-hasMaintenance").is(":checked")) $('#maintenance-window').show("fast") else $('#maintenance-window').hide("fast"); }); 

简化的隐藏/显示代码:

 $("#check-hasMaintenance").click(function() { $('#maintenance-window').toggle('fast'); }); 

选项2

像这样的简写版应该也可以:

 $(document).ready(function() { $('#maintenance-window').toggle($("#check-hasMaintenance").is(":checked")); }); $("#check-hasMaintenance").click(function() { $('#maintenance-window').toggle('fast'); });