Как получить атрибут из выбранной опции select в jQuery?

у меня есть поля выбрать в 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 ответов


использовать :выбран селектор

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

тем не менее, я бы рекомендовал вам использовать data- атрибут с префиксом. Тогда вы можете использовать .data()

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

демо