Jquery,跟踪一个可变数字
问题描述:
我目前正在制作一个网站,用户可以在其中提交问题。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);
}
});
});
答
既然你可以添加新的问题,你可以指望的形式textarea的子元素通过
var count = $("#form textarea").length;
的号码,然后把一个for循环形式1来算
var question = $("#"+i).val(); // where i is the loop counter
答
我认为你需要的Session变量转换这样在ASP.NET: SESSION [ 'd'] = Convert.ToInt32(SESSION [ 'd'])+ 1;
你说你正在使用jQuery的这个功能(添加新的问题),但它看起来像你使用PHP。 – crush
嗯,我没有为该功能添加Jquery。因为它并不重要,不是我的问题的根源。 – Pjust
很难从您发布的内容中知道您的代码正在发生什么。 – crush