2012-09-20 26 views
2

我想正確的問題編號顯示在數據庫表中,但問題是它顯示不正確的問題編號+1。我相信jquery增量導致錯誤的數字被插入數據庫

可以說我有4行,我用文件輸入第2行和第4行上傳的文件,那麼就意味着問題的數字應該是2和4的含義表應該看起來像下面這樣:

ImageId SessionId QuestionId 
01    AAA  2 
02    AAA  4 

反而它已經拿到了題號錯誤只加1意味着它是這樣顯示的:

ImageId SessionId QuestionId 
01    AAA  3 
02    AAA  5 

我相信問題是,我無法正確inncrementing的問題編號。任何人都可以看到我的代碼在我的代碼下面錯誤地插入了錯誤的問題編號嗎?

下面是代碼:

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.
  • 等等上...

回答

0

爲什麼不從var qnum = 0;開始?大多數增量函數都可以

編輯

使用.text.val顯示該行的值之前你遞增++qnum。嘗試之後遞增。你的每一個功能將結束與:

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

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

因爲如果我開始與qnum = 0,那麼當我追加的第一行中的表,它規定的題號0,這是不正確應該是1,第一行代表問題1,第二行代表問題2等等。如果我做qnum = 0,那麼第一行將問題0,第二行將問題1等等,這是不正確的 – user1681039

+0

嘗試改變你的增量和顯示順序 - 請參閱更新的答案。 – crowjonah

+0

var qnum仍然是1還是0? – user1681039