将jQuery函数导入Ember错误“我未定义”

时间:2017-08-12 23:58:28

标签: javascript jquery ember.js

我正在尝试实现以下jQuery调用,以便在我的Ember控制器中用作操作。

jQuery(取自http://jsfiddle.net/simo/57SR9/94/):

$('#checkAll').click(function(){
    for(i=0; i < chart.series.length; i++) {
        if(chart.series[i].selected == false){
            chart.series[i].select();
            showSeries.call(chart.series[i], {checked: true});
        }
    }
});
$('#uncheckAll').click(function(){
    for(i=0; i < chart.series.length; i++) {
        if(chart.series[i].selected == true){
            chart.series[i].select();
            showSeries.call(chart.series[i], {checked: false});
        }
    }
});

在恩伯的实施:

checkAll() {
  Ember.$('#checkAll').click(function(){
      for(i=0; i < chart.series.length; i++) {
          if(chart.series[i].selected == false){
              chart.series[i].select();
              showSeries.call(chart.series[i], {checked: true});
          }
      }
  });
},

uncheckAll() {
  Ember.$('#uncheckAll').click(function(){
      for(i=0; i < chart.series.length; i++) {
          if(chart.series[i].selected == true){
              chart.series[i].select();
              showSeries.call(chart.series[i], {checked: false});
          }
      }
  });
},

但是当我点击按钮时,我收到错误:"i is not defined"

  checkAll: function checkAll() {
    _ember['default'].$('#checkAll').click(function () {
      for (i = 0; i < chart.series.length; i++) { <== error here
        if (chart.series[i].selected == false) {
          chart.series[i].select();
          showSeries.call(chart.series[i], { checked: true });
        }
      }
    });
  },

这里有什么问题?

2 个答案:

答案 0 :(得分:1)

你还没有定义变量i。要修复,请更改for循环,改为:

for (let i=0; i<chartSeries.length; i++)

答案 1 :(得分:0)

您忘记声明变量=GetDistance($P$13,T4) &amp; var chart。 检查您自己的var series = chart.series, i;第1行和第1行。 18.

jsfiddle代码转换为jQuery时,您忘记了这一点。

包含以下代码

Ember var chart;