javascript设置cookie与语言值

时间:2014-11-21 13:28:04

标签: javascript jquery html cookies

我需要设置一个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()]);
});

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

由于您已经在使用jQuery,我建议您查看一个精彩的Cookie插件:jQuery Cookie Plugin

要设置您将使用的cookie:

$.cookie('name', 'value');

阅读,更容易:

$.cookie('name');

在这种情况下,您必须利用select的更改事件来更改cookie,并使用页面加载来读取cookie。

DEMO

你的问候就像是:

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] );

});