Javascript 使选择选项保持选中状态。饼干?
我有一个非常简单的选择选项,我希望它能在点击时触发刷新和特定操作。但在我开始之前,我想知道如何在任何刷新或操作后保持它处于选中状态Javascript 使选择选项保持选中状态。饼干?,javascript,cookies,Javascript,Cookies,我有一个非常简单的选择选项,我希望它能在点击时触发刷新和特定操作。但在我开始之前,我想知道如何在任何刷新或操作后保持它处于选中状态 <select name="countries" id="countries" style="width:180px;"> <option value='us'>United States</option> <option value='gb'>United Kingdom</option> </se
<select name="countries" id="countries" style="width:180px;">
<option value='us'>United States</option>
<option value='gb'>United Kingdom</option>
</select>
美国
大不列颠联合王国
任何想法,我已经研究过cookies,但希望能得到一些帮助。您必须包括jquery.cookies.js
功能更改动作(选定值)
{
$.removeCookie(“测试”);
$.cookie(“测试”,选定的值);
//通过放置id使选择框处于选中状态
//现在连这条线都不需要了
//$(“#”+选定的_值).attr('selected',true);
//提供需要重定向的URL
window.location.href='';
}
下面是html代码
//In php check whether cookie is working
<?php
echo $_cookie('test');
?>
<select name="countries" id="countries" style="width:180px;" onchange="return change_action(this.value);">
<option value='us' id="us" <?php if($_cookie('test') == 'us') { ?> ?>selected='selected'<?php } ?>>United States</option>
<option value='gb' id="gb" <?php if($_cookie('test') == 'gb') { ?> ?>selected='selected'<?php } ?>>United Kingdom</option>
</select>
//在php中检查cookie是否工作
精选的美国
精选联合王国
检查这个,在Jquery中完成,有一些你可能不需要的代码,这是为一些其他问题完成的,只是为了你的选择而修改的
$(document).ready(function(e){
var name = "Country=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) $('#countries').val(c.substring(name.length,c.length));
}
});
$('#countries').change(function(e)
{
var cookieVal = "Country="+$(this).val();
document.cookie = cookieVal ;
});
$(文档).ready(函数(e){
var name=“Country=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
美国
大不列颠联合王国
函数setCookie(cname、cvalue、exdays)
{
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=cname+“=”+cvalue+”;“+expires;
}
函数getCookie(cname)
{
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(var i=0;我认为我尝试过的所有这些cookie选项的主要问题是,我没有正确地包含代码,我已经在这个链接上上传了一个代码示例-…这设置正确吗,因为它仍然不适用于我。@user3272400并通过在javascript中发出警报进行检查。我已经这样做了,但页面没有返回任何东西,你知道这意味着什么吗?那么这是一个php错误。使用错误报告(E_ALL)找到错误并修复它。嗨,很抱歉,我还不擅长编程,真的不知道怎么做。我相信Cookie测试回音就是问题所在。一旦删除,选择就会再次显示。那么这个链接上的选择器不应该工作吗?JS代码中有输入错误:lang
被传递到change\u语言中
,尽管函数使用当前\u标志
。。。
$(document).ready(function(e){
var name = "Country=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) $('#countries').val(c.substring(name.length,c.length));
}
});
$('#countries').change(function(e)
{
var cookieVal = "Country="+$(this).val();
document.cookie = cookieVal ;
});
<select name="countries" id="countries" style="width:180px;" onchange="change_language(this.value)">
<option value='us' id='us'>United States</option>
<option value='gb' id='gb'>United Kingdom</option>
</select>
<script>
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
function change_language(lang)
{
setCookie("flag_option_dropdown",current_flag,30);
var flag_current_option_dropdown=getCookie("flag_option_dropdown");
document.getElementById(flag_current_option_dropdown).setAttribute("selected","selected");
}
change_language("gb"); //by default
<script>