我遇到的问题涉及服务器端(JSP),因此我无法将jFiddle示例放在一起,但我将尽我所能尽力证明问题:
首先,我有一个JSP页面,在页面顶部我导入了一个javascript文件,其中包含一个在页面上使用了不同时间的javascript类。
因此,以下(导入A)将导入到JSP页面的顶部,以便在页面内容中使用:
<script>
var TheJSClass = function(aValue, bValue) {
var me = this;
this.somePropertyA = aValue;
this.somePropertyB = bValue;
this.showValues = function() {
console.log("me.somePropertyA = " + me.somePropertyA);
console.log("me.somePropertyB = " + me.somePropertyB);
}
}
</script>
所以在JSP页面上只有一些HTML:
<ul>
<li> blah blah blah
<!-- jsp import B here -->
</li>
<li> blah2 blah2 blah2
<!-- jsp import B here -->
</li>
</ul>
以下是导入B的示例
<!-- the unique_id is an attribute set on the page that I increment here at the top of this (import B) file this was my attempt to differentiate between the instances of the class within import A-->
<script>
var info<%=unique_id%> = new TheJSCLass(10,20);
</script>
<a href="" onclick="info<%=unique_id%>.showValues();">Try Me</a>
这一切似乎都有效....当我添加多个导入时会出现问题...例如,以下内容:
<!-- Another Import B -->
<script>
var info<%=unique_id%> = new TheJSCLass(30,40);
</script>
<a href="" onclick="info<%=unique_id%>.showValues();">Try Me</a>
然后是另一个:
<!-- Another Import B -->
<script>
var info<%=unique_id%> = new TheJSCLass(60,70);
</script>
<a href="" onclick="info<%=unique_id%>.showValues();">Try Me</a>
问题是,每一个&#34;试试我&#34;按钮显示上次导入的值,因此它们将显示60 70作为值...我是否会这样做错了?有什么建议?谢谢大家的时间。
编辑:我刚刚创建了这个jFiddle,它除了JSP之外还有一些东西,它为每个变量名添加了数字,它运行正常:https://jsfiddle.net/vzo4fmjt/
这与我在每次导入时添加到变量名称的JSP编号有关吗?
答案 0 :(得分:0)
感谢所有试图查看出错的人。事实证明,我做了一些非常愚蠢的事情。在我的真实文件中,“var me = this;”有点失踪var让它变得全球化导致了这个......对于那些浪费时间的人抱歉!