web-dev-qa-db-fra.com

Comment obtenir l'attribut de l'option sélectionnée de select dans jQuery?

J'ai le prochain selectbox en 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>

Je veux lire la valeur d'attribut de l'option sélectionnée.

Pour prendre la valeur, c'est simple:

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

Mais que dois-je faire si je veux obtenir la valeur d'attribut de l'option sélectionnée? Je sais que . Attr () doit aider, mais quand j'ai essayé de l'utiliser, j'ai obtenu un résultat incorrect.

J'ai essayé le suivant:

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

Mais la valeur renvoyée est toujours 0 malgré le fait que je sélectionnais une option différente.

Qu'est-ce qui ne va pas, comment résoudre mon problème?

8
user2402179

Utilisez : sélectionné Sélecteur

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

Cependant, je vous recommande d'utiliser l'attribut préfixé data-. Ensuite, vous pouvez utiliser .data()

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

[~ # ~] démo [~ # ~]

33
Satpal