在jQuery中保存切换

时间:2011-12-15 15:22:51

标签: c# javascript jquery asp.net html

我在屏幕底部有一个登录表单,可以使用slidetoggle切换打开和关闭。我怎么能这样,如果用户更改页面,打开或关闭状态保持不变? Ajax更新面板可能吗?这是我用于切换的JQuery代码:

       <script type="text/javascript">
          if ($('#divLoginFootForm').is(":visible")) {
              $('#divLoginFootForm').show();

          }
          else {
              $('#divLoginFootForm').show();

          }

          $('.log').click(function () {
              $('#divLoginFootForm').slideToggle('slow', function () {
                  // Animation complete

              });
          });



</script> 

谢谢!

4 个答案:

答案 0 :(得分:1)

您可以使用cookie来维持状态。看一下这个例子

http://www.electrictoolbox.com/jquery-cookies/

答案 1 :(得分:0)

将表单的可见状态存储到cookie中。在后续请求中,从cookie中读取可见状态并将其应用于表单。

您可以轻松地合并this page on quirksmode for reading/writing/deleting cookies中的三个功能。

答案 2 :(得分:0)

跟踪隐藏字段中切换的状态,然后在页面最初加载时设置切换状态。您需要使用隐藏字段,因为必须在客户端和服务器上都可以访问该值。一个客户端,当用户切换状态时,设置隐藏字段的val以反映状态。

然后,由于您使用的是asp.net,状态将在回发之间保留,您可以在代码隐藏中控制初始状态等。

如果您使用cookie,则状态将在用户可能打开的页面的所有实例之间共享(即在多个选项卡中),这可能不是您想要的。

编辑:Here's a question,说明了如何使用jquery设置隐藏字段的值。

答案 3 :(得分:0)

您有几个选择:

  1. 曲奇

  2. 会话项目集合(如果您使用的是ASP.Net)

  3. Cookie可能是有益的,因为它不是特定于您的Web平台,jQuery可以自己完成。

    会话项集合如果您想将其保存在代码中而不是将其写入cookie,则会很好。

    如果服务器没有理由知道这种状态,我建议使用cookie。