Comment obtenir la valeur d'un attribut
data-* lors d'un événement change ?

Index

<select id="selectID"></select>

L'événement "change" s'applique toujours sur un tag "select", dans $( this ).val() le piège est de croire que "this" se réfrère à l'option sélectionnée. Pour connaitre la valeur de l'attribut "data-img-src" on doit retouvé l'option sélectionnée par un $( this ).find( ":selected" ).

var dataset = [
	"https://danielhagnoul.developpez.com/images/adoptez-le.png",
	"https://danielhagnoul.developpez.com/images/avatarDVJH.jpg",
	"https://danielhagnoul.developpez.com/images/badge.jpg"
];
 
for ( var i in dataset ){
	$( '<option value="' + i + '" data-img-src="' + dataset[ i ] + '">' + i + '</option>' ).appendTo( "#selectID" );
}
 
$( "#selectID" ).on( "change", function(){
	console.log( $( this ).val(), $( this ).find( ":selected" ).data( "imgSrc" ) );
});

Bovino, danielhagnoul

Tests unitaires avec QUnit.