使用ES6箭头功能获取已选中复选框值的列表

时间:2016-11-03 02:29:40

标签: javascript jquery ecmascript-6

我的复选框看起来像这样:

<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();

但我得到的只是一个空数组。

为什么?

1 个答案:

答案 0 :(得分:3)

JQuery&#39; .map() method传递对回调第二参数中元素的引用。第一个参数是索引。

你得到一个空数组,因为.value对于索引(数字)是undefined,当你返回undefined时,jQuery&#39; s .map()没有&#39; t在结果中添加一个元素。

所以:

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

(所以问题不是因为你使用了箭头功能而不是标准功能。)