var的javascript down count失败

时间:2014-09-02 08:57:40

标签: javascript jquery html variables

我在button中得到一个htmlAJAX设置了一个新的tr 所以我构建一个函数(下面的代码)来添加它工作得很好,但现在我希望counter看看我有多少行, 向上counter有效,在所有行的末尾,我有一个"垃圾"图标和click行消失(也可以正常工作)但向下计数器有issue 这是logic

  

15   14   12   9   五   0   -6   -13   -21   -30   -40   -51   -63   -76   -90

"通常这是从15到1"

var partcount = 1;
$('#AddName').click(function () {

    partcount ++;
    $.ajax({
        type: "POST",
        url: "@Url.Action("addParticipantToForm", "Events")",
        success: function (data) {
            $('.table tr:last').after(data);
        },

    });
    console.log(partcount);
    document.getElementById("partisipants-counter").innerHTML = partcount;
});

这是一页

第二页是每次按下添加按钮时执行的操作,所以我必须在这里设置垃圾桶的脚本,否则它将无法正常工作

@model Livework.Web.Ticketing.ViewModels.CustomerViewModel
<tr>
<td>
    naam
</td>
<td>
    @Html.EditorFor(model  => model.thePartisipant.Name, new { htmlAttributes = new {       @class = "form-control" } })
</td>
<td>

    <button type="button" class="btn btn-default remove-name">
        <span class="glyphicon glyphicon-trash"></span>
    </button>
</td>
</tr>

<script>

$('.remove-name').click(function () {

    $(this).closest('tr').remove();
    partcount--;
    document.getElementById("partisipants-counter").innerHTML = partcount;
    console.log(partcount);
});
</script>
抱歉我的英语不好, 如果有任何问题,请告诉我 提前谢谢

2 个答案:

答案 0 :(得分:3)

注意模式如何“减1,然后减2,然后减3,然后减4”......

这是因为你反复绑定事件处理程序,因此它被调用的次数越来越多。

相反,尝试委托事件处理程序。像什么一样的东西 $(some container).click('.remove-name',function() {...});

答案 1 :(得分:0)

正如我所说,你可以尝试这样:you can put your partcount value inside hidden element and when you want to decrement the value - get the value from that hidden element and subtract it by 1

假设您有隐藏字段:

<input type="hidden" id="count_hidden" value="1">

Jquery的:

    $('#AddName').click(function () {

        var partcount = parseInt($('#count_hidden').val());
        partcount ++;
        $('#count_hidden').val(partcount)
        // You code//

    });


    $('.remove-name').click(function () {

      $(this).closest('tr').remove();
       var partcount = parseInt($('#count_hidden').val());
       partcount--;
       $('#count_hidden').val(partcount);

       //your code
   });