我知道我可以得到所有选中的复选框在页面上使用这个:

$('input[type=checkbox]').each(function () {
    var sThisVal = (this.checked ? $(this).val() : "");
});

但是我现在在一个有一些我不想包括的其他复选框的页面上使用这个。我如何更改上面的代码,以只查看选中的复选框上有特定的类?


当前回答

$('. class:checkbox:checked')将为您提供类class中所有选中的复选框。

其他回答

$("input:checked.yourClassName").each(function(){
   console.log($(this).val());
});

这也是工作。

 $('input.theclass[type=checkbox]').each(function () {
   var sThisVal = (this.checked ? $(this).val() : "");
 });
$('input:checkbox.class').each(function () {
       var sThisVal = (this.checked ? $(this).val() : "");
  });

一个要演示的例子。

:checkbox是复选框的选择器(事实上,你可以省略选择器的输入部分,尽管我发现在库的早期版本中,你会得到奇怪的结果。我相信它们在后来的版本中得到了修复)。 .class是包含class的元素class属性的选择器。

如果只有复选框具有给定的类名,则不需要指定:checkbox筛选器。

const newArray = $('.yourClass:checked').map(function(){return $(this).val()}).get();
console.log(newArray);

如果你需要以数组的形式获取所有选中复选框的值:

let myArray = (function() {
    let a = [];
    $(".checkboxes:checked").each(function() {
        a.push(this.value);
    });
    return a;
})()