【问题标题】:Init jQuery function and pass a variable with a string初始化 jQuery 函数并使用字符串传递变量
【发布时间】:2015-12-07 10:08:46
【问题描述】:

硬编码我会像这样初始化(在这种情况下是一个插件),这是有效的:

var cal = $("#calendar").calendario({
    caldata : {
        '09-11-2015_1':['09-11-2015',0,19]
    }
});

现在我想向 caldata 选项传递一个内容如下的变量:

var init_events = $("#init_events").val();

var cal = $("#calendar").calendario({
    caldata : init_events
});

init_events 的值为 {'09-11-2015_1':['09-11-2015',0,19]} 但这不起作用。如果我在插件中记录选项的输出,它只会在控制台中返回一个字符串,就像我记录第一个代码一样,它会记录一个对象。 我试过jQuery.parseJSON(init_events),但这会返回一个意外的令牌错误。

知道如何通过传递变量来实现这一点吗?

【问题讨论】:

  • init_events 的值是多少?
  • 你能改变init_events的格式吗? JSON 要求字符串使用双引号,而不是单引号。

标签: javascript jquery string object


【解决方案1】:

init_events 不是有效的 JSON。 JSON 只允许在字符串周围加上双引号,而不是单引号,所以应该是:

{"09-11-2015_1":["09-11-2015",0,19]}

【讨论】:

  • 从来不知道 - 做了一些谷歌搜索,发现了这个伟大的“验证者” - jsonlint.com
  • 是的,这个 jQuery.parseJSON() 可以工作,并且我可以在选项中使用它,谢谢!多么愚蠢的错误......
猜你喜欢
  • 2017-06-14
  • 1970-01-01
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 2023-03-06
  • 1970-01-01
  • 2020-11-06
相关资源
最近更新 更多