我在button
中得到一个html
,AJAX
设置了一个新的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>
抱歉我的英语不好,
如果有任何问题,请告诉我
提前谢谢
答案 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
});