我有这种方法:

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:

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


页面加载时出现Java脚本错误:


  periodLookup [periodStr]未定义
  [此错误中断] var period =
  数据点 *
  periodLookup [periodStr] [0];

最佳答案

periodStr的值是多少?什么时候抛出?我敢打赌它不包含您的想法。可能的原因有很多,例如您在DOM准备就绪之前就在运行代码。

09-17 08:44