javascript – 保存cookie中的下拉菜单选项?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 保存cookie中的下拉菜单选项?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2702字,纯文字阅读大概需要4分钟。
内容图文
我已经看过几次这个帖子了,但我根本无法得到代码.
我需要帮助制作此下拉菜单将其设置保存到cookie,因此当用户再次访问该网站时,将保留其先前的选择.
落下:
<select id="ThemeSelect">
<option value="zelda">Zelda</option>
<option value="smb2">SMB 2</option>
</select>
作为参考,此代码与Wordpress小部件中的一些Javascript一起更改css代码,如主题选择器.
我如何将此保存为cookie?我觉得我已经尝试了一切!
编辑:
我应该说,但我用这段代码来改变CSS:
var saveclass = null;
var sel = document.getElementById('ThemeSelect');
sel.onchange = function(){
saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + sel.value;
};
解决方法:
这些方面的东西应该适合你.通过javascript创建cookie的功能在
Setting a Cookie from JavaScript,javascripter.net上的一篇文章.
HTML:
<select id="ThemeSelect" onchange="setCookie('theme', this.value, 365);">
<option value="zelda">Zelda</option>
<option value="smb2">SMB 2</option>
</select>
使用Javascript:
function setCookie(cookieName, cookieValue, nDays) {
var today = new Date();
var expire = new Date();
if (!nDays)
nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}
编辑:
保存cookie
我已经将这两个函数合并为一个.
HTML:
<select id="ThemeSelect" onchange="saveTheme(this.value);">
<option value="zelda">Zelda</option>
<option value="smb2">SMB 2</option>
</select>
使用Javascript:
var saveclass = null;
function saveTheme(cookieValue)
{
var sel = document.getElementById('ThemeSelect');
saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + sel.value;
setCookie('theme', cookieValue, 365);
}
function setCookie(cookieName, cookieValue, nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0)
nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}
在返回页面时阅读cookie
感谢dunsmoreb
我们可以使用此函数获取cookie,shamelessly stolen from this question.
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
然后我们需要在页面加载时选择值.以下代码将完成:
document.addEventListener('DOMContentLoaded', function() {
var themeSelect = document.getElementById('ThemeSelect');
var selectedTheme = readCookie('theme');
themeSelect.value = selectedTheme;
saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + selectedTheme;
});
内容总结
以上是互联网集市为您收集整理的javascript – 保存cookie中的下拉菜单选项?全部内容,希望文章能够帮你解决javascript – 保存cookie中的下拉菜单选项?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。