如何从jQuery的select选项中获取属性?

时间:2014-08-21 15:44:53

标签: javascript jquery select web option

我在HTML中有下一个选择框

<select id="listbox-taskStatus" class="selectpicker">
    <option status="0">In progress</option>
    <option status="1">Not started</option>
    <option status="2">Done</option>
    <option status="3">Failed</option>
</select>

我想从所选选项中读取属性值。

如果只是为了获取价值,那很简单:

var value = $('#listbox-taskStatus').val();

但是,如果我想从所选选项中获取属性值,我该怎么办? 我知道, .attr()必须有所帮助,但当我尝试使用它时,我得到的结果不正确。

我已尝试过下一个:

var status = $('#listbox-taskStatus option').attr('status');

但是返回的值总是0,尽管事实上我选择了不同的选项。

出了什么问题,如何解决我的问题?

1 个答案:

答案 0 :(得分:31)

使用:selected选择器

var status = $('#listbox-taskStatus option:selected').attr('status');

但是,我建议您使用data-前缀属性。然后,您可以使用.data()

var status = $('#listbox-taskStatus option:selected').data('status');

DEMO