【发布时间】:2020-05-02 07:45:24
【问题描述】:
我大部分时间都在那里,但似乎无法破解这个,我有一个带有复选框的简单表单,
form#bookingsToDelete(
action='/list/batchDelete'
method='POST'
autocomplete='off'
)
tbody
each doc in list
-var id = doc._id;
tr
td
input.form-control(type='checkbox' name='ids[]' id='doc._id' value=doc._id onclick='return selectedForDelete();' )
td.bg-blue= doc.tourDate
td
还有一个计数器,该计数器应根据已选择的框数进行更新。使用下面的 JQuery 我可以递增,但是当我单击选中的复选框(取消选择该项目)时,它不会递减 1,我不明白为什么。
div.p-2.actionMenu-2.float-right
button.btn.btn-danger(type='submit' form='bookingsToDelete' value='Submit')
span Delete
span.deleteCounter.badge.badge-light
custom.js
let bcount ='1';
function selectedForDelete() {
if ($('input:checkbox').is(':checked') ) {
$('input:checkbox:checked').addClass('checked');
$('.deleteCounter').text( bcount ++ );
} else {
$('input:checkbox').removeClass('checked');
$('.deleteCounter').text( bcount -- );
}
}
我已经尝试bcount +1 bcount -1 并在函数内移动 var 声明。如果我只单击一个复选框,则计数器会上下递增,但一旦我选择多个复选框,计数器就会上升,但在我取消选中该框时不会下降。
请多多指教!
【问题讨论】:
-
$('input:checkbox).is(':checked')返回文档中第一个复选框的状态。它忽略选择器匹配的所有其他元素。 -
感谢您抽出宝贵时间提供帮助!
标签: javascript jquery pug increment decrement