2010-06-11 68 views
1

我有這樣的方法:javascript錯誤:periodLookup [periodStr]未定義,爲什麼它會拋出此錯誤?

set_period_help_text: function(periodInput){ 
     var metric = MonitorMetric.getSelectedMetric(); 
     var periodStr = $('select[name=metric_period]').val(); 
     var datapoints = Number(periodInput.attr("value")); 
     var period = datapoints * periodLookup[periodStr][0]; 
} 

var periodLookup = { 
    "OneMinute": [1, "minute"], 
    "FiveMinute": [5, "minute"], 
    "OneHour": [1, "hour"], 
    "OneDay": [1, "day"], 
    "OneWeek": [1, "week"] 
}; 

其中var periodStr正在從下拉menue,只有擁有值retrived:

"OneMinute" 
    "FiveMinute" 
    "OneHour" 
    "OneDay" 
    "OneWeek" 

我得到一個Java腳本錯誤時的頁面加載:

periodLookup [periodStr]未定義 [Break on this error] var period = datapoints * periodLookup [periodStr] [0];

回答

3

什麼是periodStr的值?當它拋出?我敢打賭,它不包含你的想法。可能的原因是多重的,就像你在DOM準備好之前運行代碼一樣。

+0

我認爲這是它正在運行的代碼,而它試圖檢索的值仍然沒有加載。 – 2010-06-11 13:55:09

相關問題