【问题标题】:Set/Get input value using cookie使用 cookie 设置/获取输入值
【发布时间】:2014-03-03 06:16:31
【问题描述】:

我希望切换按钮记住选择的选项。因为当我刷新浏览器时,我的选择正在重置.. 我该怎么做?

这是我的代码:

HTML:

<input type="button" value="Tak" onclick="return change(this);" />

JS:

<script>
    function change( el )
    {
        if ( el.value === "Tak" ){
            el.value = "Nie";
        }else{
            el.value = "Tak";
        }
    }
</script>

【问题讨论】:

标签: javascript button cookies jquery-cookie


【解决方案1】:

刷新浏览器时客户端值将重置。

为此,您需要存储在cookiesession

【讨论】:

  • 好的,但是你能帮我做这件事吗?我是初学者;/
【解决方案2】:

包括this 以简单地设置和获取cookie。 比如:

<head>
   <script src="path/to/jquery.js"></script>
   <script src="path/to/jquery.cookie.js"></script>
</head>

...
<input type="button" value="Tak" onclick="return setValue(this)" id="btn"/>

现在您可以毫无问题地获取/设置 cookie 并更改输入值,例如:

function setValue(elem){

    if(elem.value == "Tak"){
        elem.value = "Nie";
        $.cookie("btnState", true);
    } else {
        elem.value = "Tak";
        $.cookie("btnState", false);
    }
}

function getValue(){

    var c = $.cookie("btnState");

    if(c != null){

        if(c){
            $('#btn').val("Nie");
        } else {
            $('#btn').val("Tak");
        }
    } else {
        //first page view
        $.cookie("btnState", true);
        $('#btn').val("Nie");
    }

}

在页面加载时触发 getValue() 以检查 cookie 值并设置输入值

编辑:

要在页面加载时触发函数,请使用 jQuery .ready 函数,如下所示:

<script>
    $(document).ready(function() {
        getValue();
    });
</script>

jQuery .ready documentation.

这是jsfiddle 中的示例

【讨论】:

  • 触发器 getValue() 是什么意思,因为我不明白.. ;/
  • 我的意思是,确保在每次页面加载时都会触发此函数,以便它可以检查您的 cookie 并根据需要设置您的输入。
  • 函数被触发了?我没有看到你在 html 代码中使用它
  • 我编辑了答案,阅读了有关 .ready 函数的文档,您必须了解这一点才能在未来取得成功。没有基础知识就没有继续的意义!如果回答了您的问题,则将答案标记为已接受。
猜你喜欢
  • 2015-08-05
  • 2013-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-05
相关资源
最近更新 更多