2012-05-20 24 views
1

我有一個數據集作爲如何通過jQuery中的字符串值調用變量?

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

我想我怎樣才能創建一個從靜態值var data加載相應的數據通過

$(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. 
    } 
}); 

設置?

+1

https://developer.mozilla.org/zh/JavaScript/Reference/Operators/Member_Operators#Bracket_notation –

回答

3

不要。

data1,data2作爲對象的屬性,並使用方括號成員操作符來訪問它們。

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對象仍然比一堆全局的更好。

相關問題