2016-11-03 1 views
1

Meine Kontrollkästchen wie folgt aussehen:Erste Liste der überprüften Kontrollkästchen Werte mit ES6 Pfeil Funktion

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

Ich weiß, dass ich alle Werte mit

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

Der äquivalente Pfeil Funktionen ES6 bekommen kann ich dachte wäre so etwas wie

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

aber alles, was ich bekomme, ist ein leeres Array.

Warum?

Antwort

3

JQuerys .map() method übergibt einen Verweis auf das Element in Ihrem Rückruf zweiten Argument. Das erste Argument ist ein Index.

Sie erhalten ein leeres Array, weil .valueundefined für die Indizes (Zahlen) ist, und wenn Sie undefined jQuery Rückkehr .map() kein Element zum Ergebnis hinzu.

So:

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

(. So war das Problem nicht, weil Sie einen Pfeil Funktion eher als eine Standardfunktion verwendet wird)

Verwandte Themen