我有一个论坛,人们评论其他人的条目,我通过ajax将数据提交到数据库。我有一个名为"total_number"
的div,它具有对特定主题的响应总数。我有一个脚本,在点击提交按钮时,total number
div中的数字加1。
现在我的问题是因为主题区域是嵌套的,我发现当点击按钮时很难对特定行进行计数。例如,当我单击第一行的提交按钮时,它会正确累加,但是当我单击第二行的下一个按钮时,计数不起作用。所以我需要找到一个可以弥补嵌套记录的脚本,这样当它的按钮点击时它会计入一个特定的行。我设法为total_number
div添加+1,所以当每个div重复时,它会为它添加+1。 total_number1,total_number2,但仍无法正常工作
$(document).ready(function(){
$('.form1').on('submit',function(event){
event.preventDefault();
// Disable submit button on this specific form
$('.button-add', this).text('Submitted').prop('disabled', true);
data = $(this).serialize();
$.ajax({
type: "POST",
url: "insert_comment.php",
data: data
}).success(function() {
window.counter=parseInt($('#total_number').html());
window.counter++;
$('#total_number').html(window.counter);
});
});
});
答案 0 :(得分:0)
如果您的评论有一个类,您可以随时计算这些对象中有多少个。
例如:
var count = $(".comment-wrapper").length;
现在是否需要添加1,取决于您是在添加新注释之前还是之后执行此操作。考虑到它是成功的,我假设它是在后,所以你不需要添加1。
答案 1 :(得分:0)
如果你在每一行都有一个计数器,并希望每一行都独立求和(只是它自己行中的注释),那么在你的成功函数中,找到紧接在前的total_number
元素(使它成为一个类)相关的提交按钮,获取其HTML,解析并增加一个:
$('.btn').click(function() {
$check = $(this).prevAll('.total_number:first');
var counter = parseInt($check.html());
counter++;
$check.html(counter);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="total_number">4</div>
<button class="btn">CLICK ME</button>
<div class="total_number">12</div>
<button class="btn">CLICK ME</button>
&#13;