如何在会话中存储此值?
我的网格有3页..页面大小为50当我在第一页更改此下拉列表框时它正在完美。但是当我到达第二页时,我没有看到此下拉列表框的选定值?
有没有办法让我们为此下拉列表框值维护会发送到下一页设置?
答案 0 :(得分:3)
jQuery在客户端运行,而session是服务器端构造。您需要检查您的HTTP服务器(无论您使用何种技术)。
如果您不将其发布到服务器,则可以将Cookie用于持久客户端存储。或者,如果您没有重新加载页面,则可以将其存储在常规的javascript变量中。
答案 1 :(得分:3)
没有办法让jQuery在你的会话环境中存储一些东西。会话是服务器端概念,在客户端只用标识符表示。
您必须拥有可以POST到的服务器操作,并且该操作可以将使用POST发送的参数放入会话中。
从客户端,您也无法访问会话的内容,除非您的网页明确地将某种地图转储到网页上。< / p>
答案 2 :(得分:3)
通过会话,你的意思是你的服务器端会话变量?如果是这样,您需要将帖子发送到您选择的语言的页面,解析变量,然后在下一页上,阅读会话变量并相应地设置选项选择。
如果通过会话,您的意思是在客户端保留相同的选项,这可以通过在客户端计算机上通过javascript设置cookie然后在下一页上读取它,或者发送查询字符串来轻松实现与下一页的网址。
如果没有自动发布,我建议在选择选项时设置cookie。
以下是您可以适应的一些 伪代码 :( more on javascript cookies @ w3schools)
<option onclick="setcookie("#id")">
function setCookie(choice){
document.cookie="option=" + choice;
}
下一页:
$(document).load(checkCookie());
function getCookie(option)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==option)
{
return unescape(y);
}
}
}
function checkCookie()
{
var option=getCookie("option");
if (option!=null && option!="")
{
$(option).selected();
}
}
答案 3 :(得分:2)
您可以使用Cookie。这个cookies library有jQuery绑定,可以根据cookie值自动填充表单元素,反之亦然。
否则,您需要遵循Konrad Garus,Pointy和Michael Jasper的建议 - 转到服务器端。
答案 4 :(得分:0)
另一种方法是使用Cookie。 jQuery有 cookie插件(http://plugins.jquery.com/project/Cookie)。 您可以将值存储在cookie中,并在下一页中获取它们。 但是,如果用户关闭cookie,它将无法工作。