【问题标题】:How can I "save" variables client side so I can use it during some other java script event?如何在客户端“保存”变量,以便在其他 java 脚本事件中使用它?
【发布时间】:2013-08-29 23:46:00
【问题描述】:

这是一个 .html 页面。

Kendo Auto Complete 具有 SELECT 功能:

select: function(e)
            {
                valid = true;
                if (e.item == null)
                {
                    return;
                }
                var DataItem = this.dataItem(e.item.index());
                nameId = DataItem.NameId;
                personId = DataItem.PersonId;
            }

基本上上面所做的就是为我捕获一些变量值。

这工作正常。

问题是,我想稍后在其他函数和事件中使用变量nameIdpersonId

“保存”这些变量的正确方法是什么?

这些变量将在稍后用作 POST 请求的参数。

【问题讨论】:

标签: javascript html kendo-ui


【解决方案1】:

在客户端本地存储:

localStorage.setItem("nameId",nameId);
localStorage.setItem("personId",personId);

检索它们的值:

nameId=localStorage.getItem("nameId");
personId=localStorage.getItem("personId");

【讨论】:

  • 你真的在引用 w3fools 吗? localStorage 只能通过getItemsetItem 访问。所有其他方法都可能有效,但不能保证。
【解决方案2】:

你可以使用全局变量(尽管这种方法只能作为最后的手段)

否则,javascript 将假定变量的范围仅持续函数的长度。如果您希望范围超出函数,则在函数之外声明它们,如下所示:

var date_item = null
function doSomething(){
    date_item = b
}


function doSomethingElse(){
    alert(data_item)
}

要使用全局变量,请不要在变量声明前使用前缀“var”

var date_item = null // local
date_item = null // global

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多