从动态生成的文本输入数组中的最后输入区域获取输入

时间:2012-02-05 07:52:54

标签: jquery html textinput

在这段代码中,每当您单击“确定”按钮时,其下方会显示一个数字,并且该数字旁边是一个输入字段。每次显示一个新数字和输入字段时,会发生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();但这也无济于事。请帮忙

1 个答案:

答案 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
});