javascript - 如何在 jQuery 中通过字符串值调用变量?

标签 javascript jquery variables

我有一个数据集为

var data1 = {values:[
  { X: "33", Y: 12 },
  ....
  ]};
var data2 = { values:[
  { X: "Jan", Y: 2 },
  ...
  ]};

我想加载适当的数据集

$(document).ready(function() {
  $(".test").click(function(){
  var data = $(this).val() // the value will be data1 or data2
           // how can I make the data a JSON equal to data1 or data2 instead of
           // assigning the static value of $(this).val() to it.
  }
});

如何从静态值创建 var data

最佳答案

不要。

data1data2作为对象的属性,并使用方括号成员运算符访问它们。

var dataset = {

    data1: {
        values: [{
            X: "33",
            Y: 12
        }, ....]
    }
    data2: {
        values: [{
            X: "Jan",
            Y: 2
        }, ...]
    };
}

var data = dataset[$(this).val()]

虽然如果您的 data1data2 是全局变量,您可以从 window 对象以相同的方式访问它们。

var data = window[$(this).val()]

但是像 dataset 这样的对象仍然比一堆全局变量更好。

关于javascript - 如何在 jQuery 中通过字符串值调用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669782/

相关文章:

javascript - 如果用户在文本区域内按下 Enter 键,如何获取 html 元素 id

javascript - 保存日历项后调用 Javascript

jquery - 阻止用户使用 Enter 提交表单,但在一个表单输入字段上启用 Enter 键

variables - 变量名和逗号后面的下划线的作用是什么?

c - 返回指向局部结构的指针

javascript - Microsoft Ajax 脚本扩展 - 在 ASP.NET AJAX 和 ASP.NET MVC 中是否相同?

javascript - 即使从 DOM 中删除后也可以保存 jQuery 对象吗?

jquery - 在 Eclipse 中获取独立 HTML 的 jQuery 和 AngularJS 内容辅助/自动完成 "file"

Jquery:悬停/取消悬停与模糊/焦点相结合

Java 使用 ObjectInputStream 读取不同的变量