0

我的问题快把我逼疯了。

我已经声明了这样的 som 变量

var tip01 = "This is my first tip";
var tip02 = "This is my second tip";

根据我的查询字符串中的值,我想写出我的提示。

我的查询字符串:ex ?myQSvalue=01

var myQSvalue = getQueryString('myQSvalue');
var myTip = 'tip' + myQSvalue;

 $("#output").html(myTip);

但输出是:tip01insted of This is my first tip

我怎样才能实现这一点并在我声明的变量中输出内容?

谢谢你。

4

4 回答 4

4

而不是不同的变量,你应该使用一个数组

var myTips = [];
myTips[0] = "This is my first tip";
myTips[1] = "This is my second tip";

然后在查询字符串上传递一个索引?myQSvalue=0

并从数组中读取:

var myQSvalue = parseInt(getQueryString('myQSvalue'),10);
$("#output").html(myTips[myQSvalue]);
于 2012-11-29T11:40:10.367 回答
0

感谢你的帮助。我采用了数组方法,效果很好。

但是 $("#output").html(window[myTip]); 对我不起作用。

在某些情况下,这种方法会很方便。

于 2012-11-29T13:17:58.813 回答
0

Jamiec 已经指出了正确的方法,但为了将来参考,您可以将全局变量称为全局上下文的属性:

var myQSvalue = getQueryString('myQSvalue');
var myTip = 'tip' + myQSvalue;

 $("#output").html(window[myTip]);
于 2012-11-29T11:42:36.603 回答
0

我建议改为在数组中定义提示,但您应该能够使用:

$("#output").html(window[myTip]);
于 2012-11-29T11:40:48.437 回答