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


У меня есть следующий selectbox в 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 8

1 ответ:

Use : selected Selector

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

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

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

Демо-версия