2012-05-23 107 views
0

所以我有一次调查显示一个问题。当用户点击他/她的回答时,问题消失,下一个问题消失。在调查结束时,我想显示他们选择的所有答案。用jquery保存一个变量的答案 - 为什么这不起作用?

所以这里是我的功能运行,当用户选择一个选项:

$('#actualThumbnails .thumb').click(function(){ 
    var id = this.id; 
    var myClass = $(this).attr('class'); 
    firstQuestion = myClass+id; 
    allAnswers += firstQuestion; 
    startQuestionTwo(); 
}); 

所以最好在最后,我不得不打印allAnswers,它应该工作。但由于某些原因,AllAnswers没有得到这个变量。这实际上打破了工作的事情,但我不明白为什么。

+4

是'allAnswers'声明为allAnswers之外的功能一个“全局变量”?你可以请添加更多的JS代码。 –

+1

你能否提供一个[jsfiddle](http://jsfiddle.net) – undefined

+0

我觉得自己像一个白痴,但我实际上忘了宣布'allAnswers'为全球。出于某种原因,我认为不使用'var'会将其声明为全局的,但这是错误的。谢谢,我想明白了 – patricko

回答

0

第一件要说的是,试一下console.log(...),它允许你写对象和信息到你的浏览器javascript-console(ff中的firebug,chrome和F12中的CTRL + SHIFT + I即)使用它调试你的应用程序,因为它可能是许多原因之一。

总之,你没有申报allAnswers,也许尝试这样的事:

var allAnswers = new Array(); 

$('#actualThumbnails .thumb').click(function(){ 
    var id = this.id; 
    var myClass = $(this).attr('class'); 
    firstQuestion = myClass+id; 
    allAnswers.push("This should be the answer for question " + id); 
    startQuestionTwo(); 
}); 
+0

你也可以在Chrome中按'F12'; – ComFreek

1

请务必声明在全球范围内

var allAnswers; 
+0

它适合我 – patricko