簡體   English   中英

javascript用語言值設置cookie

[英]javascript set cookie with language value

我需要設置一個cookie,該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。

有什么想法如何設置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()]);
});

有任何想法嗎?

由於您已經在使用jQuery,因此建議您看一下一個很棒的Cookie插件: jQuery Cookie Plugin

要設置Cookie,您可以使用:

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

而且閱讀起來更容易:

$.cookie('name');

在這種情況下,您將不得不利用select的change事件來更改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] );

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM