【发布时间】:2011-03-19 19:42:22
【问题描述】:
如何通过会话保存复选框状态?我正在使用这个 jquery 代码来切换选项:
$('div.check input:checkbox').bind('change',function(){
$('#'+this.id+'txt').toggle($(this).is(':checked'));
});
但是当我重新加载时,复选框恢复到默认状态。我知道我必须使用会话,但是如何使用 php 中的会话使复选框状态持续存在?
html:
<div class="check">
<p><input type="checkbox" value="Name" id="name" checked /> <label for="name">Name</label></p>
<p><input type="checkbox" value="Reference " id="reference" checked /> <label for="reference">Reference</label></p>
</div>
<div id="nametxt"> Show Name TEXT </div>
<div id="reftxt"> Show Ref TEXT </div>
【问题讨论】:
-
对于支持它或使用
document.cookie的浏览器,将复选框的状态存储在localStorage中可能更容易 -
“但是当我重新加载...” - 在将表单提交回服务器之前,您是否尝试在页面刷新时保持状态?!
-
@w3d,没有表格。只有两个显示数据的复选框。如果未选中该复选框,则它应该隐藏相应的数据并且该状态应该保持,直到用户再次选中它或用户关闭浏览器或注销。
-
仅供参考,您不需要在问题标题中包含 [keywords]。这就是标签的用途。
-
@fusion 如果没有实际的表单(正在提交),那么这纯粹是一个 JavaScript (JQuery) 和 Cookie 问题,而不是 PHP 或 (PHP) 会话。您将需要使用 Cookie 来维护状态。