2014-08-28 72 views
0

jQuery的数据属性不上可能是最简单的演示工作...jQuery的数据属性没有得到价值

$(document).ready(function() { 

    $("#font_selection").change(function(){ 
    var fontImgName = $(this).data('font-img'); 
    //var fontImgName = $("#font_selection").data('font-img'); 

    //var fontImgName = $(this).attr('data-font-img') 
    //var fontImgName = $("#font_selection").attr('data-font-img') 

    alert(fontImgName); 

    }); 

}); 

我必须失去了一些东西,我都想尽组合,我可以没有成功想到的,请帮帮我!

的jsfiddle演示这里http://jsfiddle.net/8fvo3kw0/1/

回答

2

http://jsfiddle.net/8fvo3kw0/3/

$(document).ready(function() { 

    $("#font_selection").change(function(){ 
    var fontImgName = $(this).find('option:selected').data('font-img');  
    alert(fontImgName); 
    }); 

}); 
3

你需要看所选择的选项元素:

var fontImgName = $(this).find('option:selected').data('font-img'); 

jsFiddle example

1

您正在尝试获得select &你的选择没有按该data属性没有data属性。

我想你想要的数据属性为选定的项目

使用波纹管

var fontImgName = $(this).find(':selected').data('font-img'); 

DEMO

1

那是因为你引用的select元素本身。

var fontImgName = $(this).find('option:selected').data('font-img'); 

这会找到选中的选项,然后访问它的数据属性。你正在做的是,你正在选择数据属性的select值。在你的HTML选择中根本没有数据属性。