我希望正确的问题号显示在数据库表中,但问题是它显示的错误问题号为+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;