将1添加到div onsubmit中的值

时间:2015-03-02 08:49:30

标签: javascript jquery ajax

我有一个论坛,人们评论其他人的条目,我通过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);




        });
    });
});

2 个答案:

答案 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;
&#13;
&#13;