jQuery.data不';不能与.change()一起工作

jQuery.data不';不能与.change()一起工作,jquery,html,Jquery,Html,我有一个表单选择与一些选项。这些选项具有atribute“数据图像”。当我试图捕捉select.change上的数据值时,返回值将发送给我“undefined” HTML <select id="onde"> <option value="1000" data-image="SP">Sampa</option> <option value="2000" data-image="RJ">Rio</option> </sele

我有一个表单选择与一些选项。这些选项具有atribute“数据图像”。当我试图捕捉select.change上的数据值时,返回值将发送给我“undefined”

HTML

<select id="onde">
  <option value="1000" data-image="SP">Sampa</option>
  <option value="2000" data-image="RJ">Rio</option>
</select>

警报返回“未定义”。当我为
.val()
更改
.data()
时,返回选项的值(1000或2000),为什么不返回包含数据的数据图像?

您需要找到所选选项

var value = $(this).find('option:selected').data("image");
在更改处理程序
中,此
引用的
选择
元素不具有
数据图像
属性,因此您需要先找到所选(使用)选项,然后再找到其数据值

JS:


或者您可以这样做:

$('select').on('change', function(){

  var value = $('#onde :selected').data("image");

    alert(value);    
});

数据图像的
属性不在
上。它在
上。。。
$("#onde").change(function(){
    var value = $(this[this.selectedIndex]).data("image");
    alert(value);
});
$('select').on('change', function(){

  var value = $('#onde :selected').data("image");

    alert(value);    
});