我需要设置一个cookie,用于保存从第1页的下拉菜单中选择的语言值,并将cookie带到第4页。因此,在第3页(语言选择较长的地方)中会出现一个文本,具体取决于在第1页中选择的语言。
第1页中的语言选择是:
<select id="languages" onchange="submit();">
<option value="en" >English</option>
<option value="es" selected>Spanish</option>
<option value="fr">French</option>
</select>
首次打开页面时,应立即设置cookie,如果用户在第1页的下拉菜单中更改了语言,则应更新该值。该cookie应保留到第4页。 / p>
任何想法如何设置cookie然后阅读它以使页面3中的文本以第1页中选择的语言显示?
需要以所选语言显示的文本不是HTML的一部分,而是通过Javascript插入,如下所示:
$(document).ready(function () {
if ($('page_3').length) {
$('#my_element').after('<div id="greet"></div>XXXXXX</div>');
}
});
代码应首先检查cookie中的语言值,并根据语言cookie值将'XXXXXX'替换为相应的文本:
var welcome = {
en:"English",
es:"Espanol",
fr:"Francais"
}
$(document).ready(function () {
$('#greet').html(welcome[$('#languages').val()]);
});
有什么想法吗?
答案 0 :(得分:2)
由于您已经在使用jQuery,我建议您查看一个精彩的Cookie插件:jQuery Cookie Plugin:
要设置您将使用的cookie:
$.cookie('name', 'value');
阅读,更容易:
$.cookie('name');
在这种情况下,您必须利用select的更改事件来更改cookie,并使用页面加载来读取cookie。
你的问候就像是:
var welcome = {
en:"English",
es:"Espanol",
fr:"Francais"
},
//read previously set cookie value
language = $.cookie( 'language' );
$(document).ready(function () {
//use value of cookie as key in welcome object to retrieve the language.
$('#greet').html( welcome[language] );
});