我的复选框看起来像这样:
<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();
但我得到的只是一个空数组。
为什么?
答案 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();
(所以问题不是因为你使用了箭头功能而不是标准功能。)