代码之家  ›  专栏  ›  技术社区  ›  Juozas Kontvainis

使用jquery获取DIV中选中复选框的列表

  •  199
  • Juozas Kontvainis  · 技术社区  · 15 年前

    我想得到在具有特定ID的DIV中选中的复选框的名称列表。如何使用jquery来实现这一点?

    例如,对于这个分区,我想得到数组[“c_n_0”;“c_n_3”]或字符串“c_n_0;c_n_3”

    <div id="checkboxes">
        <input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1
        <input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2
        <input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3
        <input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4
    </div>
    
    6 回复  |  直到 6 年前
        1
  •  385
  •   Martin Kapfhammer    11 年前

    前两个答案的组合:

    var selected = [];
    $('#checkboxes input:checked').each(function() {
        selected.push($(this).attr('name'));
    });
    
        2
  •  46
  •   nikc.org    10 年前

    这样行吗?

    var selected = [];
    $('div#checkboxes input[type=checkbox]').each(function() {
       if ($(this).is(":checked")) {
           selected.push($(this).attr('name'));
       }
    });
    
        3
  •  35
  •   Corey    15 年前
    $("#checkboxes").children("input:checked")
    

    将为您提供元素本身的数组。如果您只需要这些名称:

    $("#checkboxes").children("input:checked").map(function() {
        return this.name;
    });
    
        4
  •  19
  •   Usman Shaukat    11 年前

    我需要所有选中的复选框的计数。我不是写循环,而是这样做的

    $(".myCheckBoxClass:checked").length;
    

    将其与复选框总数进行比较,以查看它们是否相等。希望它能帮助别人

        5
  •  7
  •   Mikepote    8 年前

    这对我有用。

    var selecteditems = [];
    
    $("#Div").find("input:checked").each(function (i, ob) { 
        selecteditems.push($(ob).val());
    });
    
        6
  •  5
  •   Community CDub    7 年前

    你也可以给他们起同样的名字 so they are an array 但是给他们不同的 价值观 :

    <div id="checkboxes">
        <input type="checkbox" name="c_n[]" value="c_n_0" checked="checked" />Option 1
        <input type="checkbox" name="c_n[]" value="c_n_1" />Option 2
        <input type="checkbox" name="c_n[]" value="c_n_2" />Option 3
        <input type="checkbox" name="c_n[]" value="c_n_3" checked="checked" />Option 4
    </div>
    

    然后您只能获得勾选的值 using map :

    $('#checkboxes input:checked[name="c_n[]"]')
                .map(function () { return $(this).val(); }).get()