我希望正确的问题号显示在数据库表中,但问题是它显示的错误问题号为+1。

可以说我有4行,我在第2行和第4行中使用文件输入来上传文件,那么这意味着问题编号应为2和4,这意味着该表应如下所示:

ImageId    SessionId  QuestionId
01               AAA        2
02               AAA        4


但是取而代之的是,问题号只加了1,就表示它是这样显示的:

ImageId    SessionId  QuestionId
01               AAA        3
02               AAA        5


我相信问题是我没有正确增加问题编号。有人在我下面的代码中插入错误的问题编号时看到我在做什么吗?

下面是代码:

var qnum = 1; //question number starts at 1
var qremain = <?php echo (int)$_SESSION['textQuestion']; ?>; //the full number of questions

var $qid = $("<td class='qid'></td>" ).text(qnum);
var $image = $("<td class='image'></td>");

var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" +
        "Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" +
    "<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +
    "<label><input type='button' name='imageClear' class='imageClear' value='Clear File'/></label>" +
    "</p></form>");


$tr.append($qid);
$tr.append($image);

$('.num_questions').each( function() {

    var $this = $(this);

    var $questionNumber = $("<input type='hidden' class='num_questionsRow'>").attr('name',$this.attr('name')+"[]")
                   .attr('value',$this.val());

    $qid.append($questionNumber);

    ++qnum;
    $(".questionNum").text(qnum);
    $(".num_questions").val(qnum);

    --qremain;
    $(".questionRemain").text(qremain);
});


$('.num_questions').each( function() {的工作方式如下:


当用户打开页面时,qnum(问题编号)在顶部以“ 1”开头
当用户追加表格行时,它将从顶部开始输入问题编号“ 1”,并在添加的行中显示该问题,并在顶部递增显示qnum(问题编号),因此现在显示为2
当用户追加另一行时,它将从顶部开始输入问题编号“ 2”,并将其显示在添加的行中,并在顶部递增qnum(问题编号),因此现在显示3。
依此类推...

最佳答案

为什么不以var qnum = 0;开头?大多数增量功能都可以!

编辑

在使用++qnum.text在行中显示值之前,要递增.val。然后尝试增加。您的每个函数都将以:

$(".questionNum").text(qnum);
$(".num_questions").val(qnum);
++qnum;

$(".questionRemain").text(qremain);
--qremain;

10-06 02:31