Javascript 即使刷新,仍保留选定选项的值

Javascript 即使刷新,仍保留选定选项的值,javascript,html,Javascript,Html,我尝试获取所选下拉列表的值,并将变量传递给javascript,这是可行的,但同时我尝试保存所选选项的值,即使在刷新页面时也是如此 我想我可以在选定的值上创建一个cookie,并检查它是否存在 任何帮助都将不胜感激 形式 选择1 选择2 选择3 选择4 备选案文5 备选案文6 备选案文7 备选案文8 javascript <script type="text/javascript"> function getSelectedvalue() { var getSelecte

我尝试获取所选下拉列表的值,并将变量传递给javascript,这是可行的,但同时我尝试保存所选选项的值,即使在刷新页面时也是如此

我想我可以在选定的值上创建一个cookie,并检查它是否存在

任何帮助都将不胜感激

形式


选择1
选择2
选择3
选择4
备选案文5
备选案文6
备选案文7
备选案文8
javascript

<script type="text/javascript">
function getSelectedvalue()
{
    var getSelectedIndex = document.dummyForm.selectBox.selectedIndex;
    var getSelectedOptionText = document.dummyForm.selectBox[getSelectedIndex].text;
    alert(getSelectedOptionText);
}

function setSelectBoxvalue()
{
    var len = document.dummyForm.selectBox.length;
    //alert(len);
    var optionText= 'option 1';
    for(var i=0; i<=len; i++){
        if( (document.dummyForm.selectBox[i].value) == optionText){
            alert(document.dummyForm.selectBox[i].text);
            document.dummyForm.selectBox.selectedIndex = i;
        }
    }

}
</script>

函数getSelectedvalue()
{
var getSelectedIndex=document.dummyForm.selectBox.selectedIndex;
var getSelectedOptionText=document.dummyForm.selectBox[getSelectedIndex].text;
警报(getSelectedOptionText);
}
函数setSelectBoxvalue()
{
var len=document.dummyForm.selectBox.length;
//警报(len);
var optionText='选项1';

对于(var i=0;i如果支持HTML5,请使用
localStorage

if(typeof(Storage)!=="undefined")
{
  // Yes! localStorage and sessionStorage support!
  localStorage.paramName="value";
}
else
{
  // Sorry! No web storage support..
}
那就这样吧:

var myParam = localStorage.paramName;
如果不支持HTML5,请使用cookies:

要设置的jQuery地址:

$.cookie("paramName", "value");
使用jQuery获取

$.cookie("paramName");
没有jQuery(尽管我不知道为什么不使用jQuery:p):


您可以使用非常有用的博客QuirksMode提供的功能轻松操作cookie:

下面是如何实现您的特定案例(该示例假设您为“selectBox”的选择分配了一个ID):

window.onload=function()
{
var cookieVal=readCookie('selectBoxValue');
if(cookieVal!=null)
{
document.getElementById('selectBox')。selectedIndex=cookieVal;
}
}
函数changeSelectedvalue()
{
var mySelectedIndex=document.getElementById('selectBox')。selectedIndex;
createCookie(“selectBoxValue”,mySelectedIndex,1000);
}
函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
请看这里的小提琴:

全屏版本如下:


那么,使用cookie有什么问题呢?您不想使用cookie,或者不知道如何使用cookie?
$.cookie("paramName");
function setCookie(c_name, value, exdays)
{
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

function getCookie(c_name)
{
    var c_value = document.cookie;
    var c_start = c_value.indexOf(" " + c_name + "=");
    if (c_start == -1)
    {
        c_start = c_value.indexOf(c_name + "=");
    }
    if (c_start == -1)
    {
        c_value = null;
    }
    else
    {
        c_start = c_value.indexOf("=", c_start) + 1;
        var c_end = c_value.indexOf(";", c_start);
        if (c_end == -1)
        {
            c_end = c_value.length;
        }
        c_value = unescape(c_value.substring(c_start, c_end));
    }
    return c_value;
}
window.onload = function()
{
    var cookieVal = readCookie('selectBoxValue');
    if(cookieVal!=null)
    {
        document.getElementById('selectBox').selectedIndex = cookieVal;
    }
}



function changeSelectedvalue()
{
    var mySelectedIndex = document.getElementById('selectBox').selectedIndex;
    createCookie("selectBoxValue",mySelectedIndex,1000);
}



function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

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;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}