在select更改时,获取数据属性值
下面的代码返回'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>
你需要findselect的选项:
$(this).find(':selected').data('id')
要么
$(this).find(':selected').attr('data-id')
尽pipe第一种方法是优选的。
尝试以下操作:
$('select').change(function(){ alert($(this).children('option:selected').data('id')); });
您的更改订阅者订阅select的更改事件,所以this
参数是select元素。 您需要find所选的孩子以从中获取数据ID。
香草使用Javascript:
this.querySelector(':checked').getAttribute('data-id')
document.querySelector('select').onchange = function(){ alert(this.selectedOptions[0].getAttribute('data-attr')); };