【问题标题】:Javascript can't use "i" variable inside of for loopJavascript 不能在 for 循环中使用“i”变量
【发布时间】:2018-02-07 09:16:13
【问题描述】:

我有一个来自 CanvasJS 的折线图模板。我试图在里面使用 for 循环。循环条件工作正常。但是当我在 for 中使用 i 变量时,它不起作用,并且 Visual Studio 无法识别 i。但是,如果我不使用i,而是使用一个数字——比如 5 或 10(没关系)——它可以正常工作。

问题出在哪里?

for(var i=0;i< <%=this.something%>;i++)
{
chart.data[0].addTo("dataPoints", {x: <%=this.historyDate[i]%>, y: <%=this.historyPoint[i]%>})       
});

P.S: historyDate 和 historyPoint 在后面的代码中定义。所以我不得不那样使用它们。我对编程有点陌生。如果我犯了错误,我很抱歉

【问题讨论】:

  • 您将客户端变量与服务器端变量混合在一起。
  • 那我该怎么办?我真的不知道
  • 如果您使用 php,请尝试使用 echo this.historyDate[i] 或尝试打印 'this.historyDate[i]'

标签: javascript c# visual-studio charts


【解决方案1】:

您缺少服务器端代码,客户端代码&lt;%= exp %&gt; 是 ASP.NET 语法,它是在服务器端处理的。 i 在 Javascript 中声明,它将在浏览器中运行客户端,因此服务器无法使用它

如果不是太大,您需要将this.historyDate 序列化为 JSON 并放入 javascript 变量中。或者找一些其他的设计。

【讨论】:

  • 我尝试在后面的代码中定义“i”。就像这样,但也没有用。
  • @ovuncdeniz4,但它与 javascript 中的 i 不同
【解决方案2】:

i 变量属于 javascript,但您在模板语言 &lt;%=this.historyDate[i]%&gt; 中使用它。所以我没有定义

【讨论】:

  • 我尝试在后面的代码中定义“i”。就像这样,但也没有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-01
  • 2012-02-01
相关资源
最近更新 更多