2014-01-09 28 views
0

我目前正在製作一個網站,用戶可以在其中提交問題。Jquery,跟蹤一個可變數字

當提出問題模式時,用戶可以根據需要添加儘可能多的問題。我使用jQuery的

此功能

$('body').on('click', '.add_question', function() { 

    var result = $(this).attr('data-result'); 

    $.ajax({ 
     type: "POST", 
     dataType: "html", 
     url: (my_ajax_script.ajaxurl), 
     data: ({action: 'add_question_1'}), 
     success: function(msg) { 

      $(result).append(msg); 

     } 
    }); 
}); 

每一個問題都有一個編號,從1開始,然後2,依此類推。每次用戶按下「添加問題」按鈕時,該html都會被添加到表格中,並將其添加到表格中。

function add_question_1() { 
?> 
<tr> 
    <td> 
     <textarea id="<?php echo $_SESSION['d'] ?>"></textarea> 
    </td> 
</tr> 
<?php 
$_SESSION['d'] ++; 
} 

現在,當用戶提交這些問題到數據庫中,我沒有問題,從

獲取id的值,就像這樣:

var first_question = $("#1").val(); 

我的問題是這樣的:

問題的數量各不相同,可能有1或100,我無法弄清楚如何跟蹤

要提交多少個問題!

我會感謝任何答案,讓我朝着正確的方向前進。我知道這不是太多的信息 ,但我希望有人能夠理解這一點,並可能在相同的位置。

THX!

最終的解決方案:

$('body').on('click', '.save_questionary', function() { 


    var length = $('table textarea').length; 
    var obj = $(); 
    var arr = $.makeArray(obj); 
    for (i = 1; i <= length; i++) { 

     arr.push($("#" + i).val()); 
    } 
    var title = $("#title").val(); 
    var answer_required = $("#answer_required").val(); 
    var subject = $("#subject").val(); 
    var description = $("#description").val(); 

    $.ajax({ 
     type: "POST", 
     dataType: "html", 
     url: (my_ajax_script.ajaxurl), 
     data: ({action: 'add_question_2', arr: arr, title:title, subject:subject, answer_required:answer_required, description:description}), 
     success: function(msg) { 

      $(result).append(msg); 

     } 
    }); 
}); 
+0

你說你正在使用jQuery的這個功能(添加新的問題),但它看起來像你使用PHP。 – crush

+0

嗯,我沒有爲該功能添加Jquery。因爲它並不重要,不是我的問題的根源。 – Pjust

+0

很難從您發佈的內容中知道您的代碼正在發生什麼。 – crush

回答

3

既然你可以添加新的問題,你可以指望的形式textarea的子元素通過

var count = $("#form textarea").length; 

的號碼,然後把一個for循環形式1來算

var question = $("#"+i).val(); // where i is the loop counter 
0

我認爲你需要的Session變量轉換這樣在ASP.NET: SESSION [ 'd'] = Convert.ToInt32(SESSION [ 'd'])+ 1;