web-dev-qa-db-ja.com

jquery複数のチェックボックス配列

<input type="checkbox" name="options[]" value="1" />
<input type="checkbox" name="options[]" value="2" />
<input type="checkbox" name="options[]" value="3" />
<input type="checkbox" name="options[]" value="4" />
<input type="checkbox" name="options[]" value="5" />

チェックされているチェックボックスの値で配列を作成するにはどうすればよいですか?

注:(重要)[1、2、3、4、5]のような配列で、["1"、 "2"、 "3"、 "4"、 "5"]のような配列は必要ありません。
注:チェックボックスは約50個あります。

誰か助けてくれますか?お願いします!

ありがとうございました!

36
user557108
var checked = []
$("input[name='options[]']:checked").each(function ()
{
    checked.Push(parseInt($(this).val()));
});
69
Dormouse

$.map() (またはjQueryオブジェクトを操作する .map() 関数)を使用して、チェックされた値の配列を取得できます。 。単項(+)演算子は、文字列を数値にキャストします

var arr = $.map($('input:checkbox:checked'), function(e,i) {
    return +e.value;
});

console.log(arr);

an example

58
Russ Cam
var checkedString = $('input:checkbox:checked.name').map(function() { return this.value; }).get().join();
2
user2503922

入力ボックスごとにクラスがある場合は、次のように実行できます

        var checked = []
        $('input.Booking').each(function ()
        {
            checked.Push($(this).val());
        });
2
Muhammad Amjad