javascript
2012-12-12 68 views 0 likes 
0

我有下面的代码使用...变量值的javascript代码

<script type="text/javascript"> 

var arr= new Array('10'); 


arr[0]='Need For Guru'; 
arr[1]='Qualities of a Guru'; 
arr[2]='Living Guru'; 
arr[3]='Who is a Satguru?'; 
arr[4]='Guru and Spiritual master'; 
arr[5]='Definition of discipleship'; 
arr[6]='Power of Faith'; 
arr[7]='Bad mouthing a Guru'; 
arr[8]='Fake Guru Shishya'; 
arr[9]='Pitfalls in the path of liberation'; 


var text='['+arr[0]+',\''+arr[1]+'\','+arr[2]+',\''+arr[3]+'\','+arr[4]+',\''+arr[5]+'\','+arr[6]+',\''+arr[7]+'\','+arr[8]+',\''+arr[9]+'\']'; 
document.write(text); 

activatables('section', text); 

</script> 

我的问题是,我想使用的textvalue作为行JavaScript代码的一部分--- activatables('section', text); ..所以该代码变得像下面

activatables('section', ['Need For Guru','Qualities of a Guru',...]); 

但我不能做同样的..。可以在这个任何人的帮助?

回答

1

我想我明白你做了什么,在...你想序列化数组作为文本,和反序列化文本到一个新的数组?

把它变成一个字符串...

var arr = ["Need for a Guru", "Qualities of a Guru" /*, etc... */ ]; 
var text = JSON.stringify(arr); 

要打开的字符串到一个数组...

var text = '["Need for a Guru", "Qualities of a Guru"]'; 
var arr = JSON.parse(text); 
activatables('section', arr); 

很明显,你不需要反序列化/分析文本,如果你已经可以访问源变量...你可以直接插入它。

var arr = ["Need for a Guru", "Qualities of a Guru" /*, etc... */ ]; 
activatables('section', arr); 
+0

实际activatables功能不工作,如果我通过变量。它只有在我指定静态值时才有效。activatables('section',['Need For Guru','Qualities of a Guru',...]); ...任何想法我怎么能解决这个问题? –

+0

我很抱歉..它解决了..这是由于'?'字符activatables()不工作... THX为你的帮助 –

+0

很高兴听到你得到它的工作 –

0

你为什么要这样做?如果你希望你的阵列的字符串表示,使用方法:

JSON.stringify(arr); 

能够作为使用参数传递:

activatables('section', JSON.stringify(arr)); 

然而,在你的情况下,它似乎要传递字符串section和数组本身作为函数activatables的参数。如果是这样的话,所有你需要做的是:

activatables('section', arr); 
0
activatables('section', ['Need For Guru','Qualities of a Guru',...]); 

意味着你将数组传递给activatables。根据您目前的代码,你会得到这种效果通过传递arr,这是数组你想要的:

activatables('section', arr); 
+0

当页面加载时,我的代码应该有arval eval作为... activatables('节',['需要上师','古鲁的品质',...]); ...那么只有这个工程 –

相关问题