17

名前の配列を持ついくつかのチェックボックスがあり、チェックボックスの出力をコンマ区切りのリストを持つ変数にしたいと考えています。

<input type="checkbox" name="example[]" value="288" />
<input type="checkbox" name="example[]" value="289" />
<input type="checkbox" name="example[]" value="290" />

たとえば、最初と最後のボックスが選択されている場合、出力は次のようになります。

var output = "288,290";

jQueryでこれを行うにはどうすればよいですか?

4

4 に答える 4

32

:checkbox属性セレクター( )を使用:checkbox[name=example\\[\\]]してチェックボックスのリストを取得し、フィルターをname="example[]"使用して選択したチェックボックスのみを取得できます。:checked

次に、.map関数を使用して、選択したチェックボックスから配列を作成できます。

デモ

var output = $.map($(':checkbox[name=example\\[\\]]:checked'), function(n, i){
      return n.value;
}).join(',');
于 2012-03-06T22:59:52.737 に答える
12

現在テストされていませんが、次のように動作するはずです。

var valuesArray = $('input:checkbox:checked').map( function () {
    return $(this).val();
}).get().join();

少し休憩した後、ネイティブDOMを使用するように編集しました$(this).val()(コンテキストでは不必要に高価です):

var valuesArray = $('input:checkbox:checked').map( function() {
    return this.value;
}).get().join(",");
于 2012-03-06T22:57:08.770 に答える
4
var valuesArray = $('input[name="valuehere"]:checked').map(function () {  
        return this.value;
        }).get().join(",");

いつも私のために働く

于 2014-06-03T11:27:52.010 に答える