web-dev-qa-db-ja.com

jQueryを使ってdiv内のチェックされたチェックボックスのリストを取得する

私は特定のIDを持つdivで選択されているチェックボックスの名前のリストを取得したいです。どのように私はjQueryを使ってそれをするのでしょうか?

たとえば、このdivに対して、array ["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>
205

2つの前の答えの組み合わせ:

var selected = [];
$('#checkboxes input:checked').each(function() {
    selected.Push($(this).attr('name'));
});
401
Alex LE

これでしょうか。

var selected = [];
$('div#checkboxes input[type=checkbox]').each(function() {
   if ($(this).is(":checked")) {
       selected.Push($(this).attr('name'));
   }
});
48
nikc.org
$("#checkboxes").children("input:checked")

要素自体の配列をあなたに与えるでしょう。具体的に名前が必要な場合

$("#checkboxes").children("input:checked").map(function() {
    return this.name;
});
36
Corey

チェックされているすべてのチェックボックスの数が必要でした。ループを書く代わりに、私はこれをしました

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

チェックボックスの総数と比較して、それらが等しいかどうかを確認します。誰かに役立つことを願っています

19
Usman Shaukat

これは私のために働きます。

var selecteditems = [];

$("#Div").find("input:checked").each(function (i, ob) { 
    selecteditems.Push($(ob).val());
});
7
Ricardo

また、すべて同じ名前を指定することもできます つまり配列になります 、ただし異なるvalues

<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>

その後、チェックされたもののみの値のみを取得できます mapを使用

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