次のコードは 'undefined' を返します...
$('select').change(function(){
alert($(this).data('id'));
});
<select>
<option data-id="1">one</option>
<option data-id="2">two</option>
<option data-id="3">three</option>
</select>
ベストアンサー1
選択したオプションを見つける必要があります:
$(this).find(':selected').data('id')
または
$(this).find(':selected').attr('data-id')
ただし、最初の方法の方が推奨されます。