2016-11-03 12 views
1

私のチェックボックスは、次のようになります。取得リストは

<input type="checkbox" value="abc" checked> 
<input type="checkbox" value="def" checked> 

は、私は私が思った矢印の機能を使用して

$('input[type=checkbox]:checked').map(function() { return $(this).val(); }).get(); 

ES6と同等ですべての値を取得することができます知っています

$('input[type=checkbox]:checked').map((el) => el.value).get(); 

のようになりますが、すべてが空の配列です。

なぜですか?

答えて

3

JQueryの.map() methodは、コールバックの第2の引数の要素への参照を渡します。最初の引数はインデックスです。 .valueは、インデックス(番号)についてundefinedあるので

あなたは空の配列を取得し、あなたが戻ったときに undefined jQueryの .map()は結果に要​​素を追加しません。だから、

$('input[type=checkbox]:checked').map((i, el) => el.value).get(); 

(。ですから、標準の機能ではなく、矢印の機能を使用するため、問題はありませんでした)

関連する問題