jQuery change()获取所选选项的data-i属性

时间:2015-05-13 00:22:47

标签: jquery

我有一个选择框,当它改变时()我希望得到所选的选项" data-i"属性

HTML:

<select id="end-select" name="end-select">
    <option value="24h" data-i="24h">24 Hours</option>
    <option value="3d" data-i="3d">3 Days</option>
    <option value="1w" data-i="1w">1 Week</option>
    <option value="1m" data-i="1m" selected>1 Month</option>
    <option value="st" data-i="st">Specific Time</option>
</select>

jQuery:

$('select#end-select').change(function() {

    $data_i = /* the data-i attribute of the selected option */;

    alert($data_i);

});

然后将其用于依赖选择。

2 个答案:

答案 0 :(得分:4)

更改处理程序中的

this引用已更改的select元素,因此您可以使用.find()selected filter查找所选选项,然后使用{{3获取数据值

$('select#end-select').change(function() {

    var $data_i = $(this).find(':selected').data('i')

    alert($data_i);

});

答案 1 :(得分:1)

无需指定&#39; select&#39;因为您使用的是ID。

您可以使用.attr("attribute-name")方法或.data('data-name')(无需编写数据)

您可以使用var optionSelected = $("option:selected", this);查找所选选项