在这段代码中,每当您单击“确定”按钮时,其下方会显示一个数字,并且该数字旁边是一个输入字段。每次显示一个新数字和输入字段时,会发生10次。我正在尝试做的是:每当按下OK按钮,显示的内容和最后一个用户输入都存储在var temp中并检查它,我将它追加到“开始”。
var NumberOfQuestions= 10;
var questionCounter = 1;
var score=0;
//create the Problem array
var QuestionArray = [];
QuestionArray.push(0);
for (i=1; i<=NumberOfQuestions; i++){
var randomNumber = Math.floor(Math.random()*110);
QuestionArray.push(randomNumber);
}//end for loop
$(function() {
$("#ok").click(function() {
if(questionCounter <= NumberOfQuestions){
$("#ok").after("<p>" + QuestionArray[questionCounter] + "<input type='text' size='1' class='r'/></p>");
questionCounter++;}//end if
var temp = (".r").value();
$("#hg").append(temp);
});//end click function
});
});
开始
行
问题是没有任何东西存储在变量temp中。我试过var temp =(“。r”)。val();但这也无济于事。请帮忙
答案 0 :(得分:0)
如果在添加新输入后取值temp
为空,因为输入仍为空。
在添加新输入之前,先获取您生成的最后一个输入:
$(function() {
$("#ok").click(function() {
var temp = $(".r").last().val();
$("#hg").append(temp);
if(questionCounter <= NumberOfQuestions){
$("#ok").after("<p>" + QuestionArray[questionCounter] + "<input type='text' size='1' class='r'/></p>");
questionCounter++;}//end if
});//end click function
});