使用jquery获取具有特定类名的所有复选框

使用jquery获取具有特定类名的所有复选框,jquery,jquery-selectors,checkbox,Jquery,Jquery Selectors,Checkbox,我知道我可以使用以下方法获取页面上的所有复选框: $('input[type=checkbox]').each(function () { var sThisVal = (this.checked ? $(this).val() : ""); }); 但我现在在一个页面上使用它,这个页面上还有一些我不想包含的复选框。如何更改上述代码,使其只查看带有特定类的复选框 $('input.theclass[type=checkbox]').each(function () { var

我知道我可以使用以下方法获取页面上的所有复选框:

$('input[type=checkbox]').each(function () {
    var sThisVal = (this.checked ? $(this).val() : "");
});
但我现在在一个页面上使用它,这个页面上还有一些我不想包含的复选框。如何更改上述代码,使其只查看带有特定类的复选框

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

:checkbox是复选框的选择器事实上,您可以省略选择器的输入部分,尽管我发现在早期版本的库中这样做会得到奇怪的结果。我确信它们在以后的版本中已经修复。 .class是包含类的元素类属性的选择器

请参阅。

$”。class:checkbox:checked'将显示类的所有复选框。

必选示例:


我不确定它是否对您的特定情况有帮助,也不确定您只想包含的复选框是否都是单个表单、div或表的一部分,但您始终可以选择特定元素中的所有复选框。例如:

<ul id="selective">
 <li><input type="checkbox" value="..." /></li>
 <li><input type="checkbox" value="..." /></li>
 <li><input type="checkbox" value="..." /></li>
 <li><input type="checkbox" value="..." /></li>
</ul>
这将获得类名称yourClass的所有复选框。我喜欢这个示例,因为它使用jQuery选择器checked,而不是执行条件检查。我个人也会使用数组来存储值,然后根据需要使用它们,如:

var arr = [];
$('input.yourClass:checkbox:checked').each(function () {
    arr.push($(this).val());
});

我知道这个问题已经有了很多很好的答案,但是我在浏览的时候发现了这个,我发现它非常容易使用。我想我会和其他人分享

HTML:

参考:

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

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

将所有值放入数组的简单方法

var valores = (function () {
    var valor = [];
    $('input.className[type=checkbox]').each(function () {
        if (this.checked)
            valor.push($(this).val());
    });
    return valor;

})();

console.log(valores);

您可以使用以下内容: HTML:

它将选择1和3的值。

您可以这样尝试

let values = (function() {
                let a = [];
                $(".chkboxes:checked").each(function() {
                    a.push($(this).val());
                });
                return a;
            })();
HTML

$。每个将迭代选中的复选框并推入数组


按类名获取复选框ID的简单方法:

$(".yourClassName:checkbox:checked").each(function() {
     console.log($(this).attr("id"));
});


我是否要更新标题,将其改为class而不是name?@Russ Cam-已完成$'input[type=checkbox]:checked'也可以。$'input.theClass:checked'.mapfunction{return this.value}.get.join','@Fedir:您的命令给出on,on,结果是每个复选框都是“on”checked@Jay您需要设置复选框的值属性,以在分隔的字符串中获取其值jQuery注意事项:复选框建议使用[type=checkbox]。$'[type=checkbox].class'..或$'input[type=checkbox].class'@TSmith您有参考资料吗?我从这里读到:…在附加注释下如果需要将值存储在数组中,.map可能是一个更令人愉快的选择,如karim79的回答所示。谢谢:我需要找到所有选中的复选框,你的答案就是这样。很好。另外,$”。class:checkbox:not:checked将获取所有未选中的。我可以对所有名为的复选框执行此操作吗?如何在选中的元素上添加另一个类?我想在选中的输入元素上显示边框。对我来说,它的速度非常慢…@FluffyBeing yes,要通过输入的名称访问输入,可以使用:$'input[name=input\u name]:checked'或$'input[name=input\u name]“筛选器”:检查“请考虑添加注释来解释您的答案,以便它更容易理解未初始化的,请解释此代码的全部内容。这将有助于其他人理解这是最好的答案。
var arr = [];
$('input.yourClass:checkbox:checked').each(function () {
    arr.push($(this).val());
});
<fieldset>
    <!-- these will be affected by check all -->
    <div><input type="checkbox" class="checkall"> Check all</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
</fieldset>
<fieldset>
    <!-- these won't be affected by check all; different field set -->
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
</fieldset>
$(function () {
    $('.checkall').on('click', function () {
        $(this).closest('fieldset').find(':checkbox').prop('checked', this.checked);
    });
});
let myArray = (function() {
    let a = [];
    $(".checkboxes:checked").each(function() {
        a.push(this.value);
    });
    return a;
})()
var valores = (function () {
    var valor = [];
    $('input.className[type=checkbox]').each(function () {
        if (this.checked)
            valor.push($(this).val());
    });
    return valor;

})();

console.log(valores);
<input type="checkbox" id="Checkbox1" class = "chk" value = "1" />
<input type="checkbox" id="Checkbox2" class = "chk" value = "2" />
<input type="checkbox" id="Checkbox3" class = "chk" value = "3" />
<input type="checkbox" id="Checkbox4" class = "chk" value = "4" />
<input type="button" id="demo" value = "Demo" />

<script type = "text/javascript" src = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
    $("#demo").live("click", function () {
        $("input:checkbox[class=chk]:checked").each(function () {
            alert("Id: " + $(this).attr("id") + " Value: " + $(this).val());
        });
    });
</script>
<div><input class="yourClass" type="checkbox" value="1" checked></div>
<div><input class="yourClass" type="checkbox" value="2"></div>
<div><input class="yourClass" type="checkbox" value="3" checked></div>
<div><input class="yourClass" type="checkbox" value="4"></div>
$(".yourClass:checkbox").filter(":checked")
let values = (function() {
                let a = [];
                $(".chkboxes:checked").each(function() {
                    a.push($(this).val());
                });
                return a;
            })();
$(document).ready(function(){
    $('input.checkD[type="checkbox"]').click(function(){
        if($(this).prop("checked") == true){
            $(this).val('true');
        }
        else if($(this).prop("checked") == false){
            $(this).val('false');
        }
    });
});
$("input[name='<your_name_of_selected_group_checkboxes>']:checked").val()
 <p> <input type="checkbox" name="fruits" id="fruits"  value="1" /> Apple </p>
 <p> <input type="checkbox" name="fruits" id="fruits"  value="2" /> Banana </p>
 <p> <input type="checkbox" name="fruits" id="fruits"  value="3" /> Mango </p>
 <p> <input type="checkbox" name="fruits" id="fruits"  value="4" /> Grape </p>
 fruitArray = [];
 $.each($("input[name='fruits']:checked"), function (K, V) {    
    fruitArray.push(V.value);        
});

                                       
$(".yourClassName:checkbox:checked").each(function() {
     console.log($(this).attr("id"));
});