javascript - jQuery .data() function works when selector targets 1 element, but not when targetting multiple and iterating over them -
so i'm trying read data value of each checkbox checked, have following code:
var jobjchk = $("input:checkbox[name=resourceselect]:checked"); jobjchk.each(function () { receivers[receivers.length] = this.data("data-email"); });
now when 1 checkbox checked, , use this.data, code works expected. when use code above , have multiple checkboxes selected, "i object doesn't support property or method 'data'". both should jquery objects (and supporting .data())?
your assumptions incorrect. statement:
but both should jquery objects (and supporting .data())?
is incorrect. this
inside of .each()
callback actual dom element, it's not jquery object. if want use jquery functions need create new jquery object containing single element:
jobjchk.each(function () { receivers[receivers.length] = $(this).data("data-email"); });
Comments
Post a Comment