2014-08-28 73 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選擇中根本沒有數據屬性。