Supprimer une option d’un élément DropDownList avec jQuery

Dans certaines situations, une liste déroulante peut contenir une valeur par défaut non sélectionnable. Lorsqu’une autre valeur est modifiée, la valeur par défaut ne doit plus être une option. D’après ce que je peux dire, ce concept n’existe pas nativement, j’essaie donc de le coder avec jQuery. Toutes les listes DropDownLists qui ont cette condition ont une classe ‘valueSkippedHyperSwap’ qui leur est assignée. la valeur qui doit être supprimée est le signe ‘^’. Voici ce que j’ai, qui ne fonctionne pas:

$('.valueSkippedHyperSwap').change(function () { var node = $(this).has("value='^'"); node.remove(); }); 

Pour chaque demande, voici le code HTML, bien que je ne sois pas en mesure de comprendre comment le placer dans un bloc de code:

  
(^) Blank (skip pattern) (0) No (1) Yes (-) Not assessed
(^) Blank (skip pattern) (0) Clear speech-distinct intelligible words (1) Unclear speech-slurred or mumbled words (2) No speech-absence of spoken words (-) Not assessed

L’un des éléments clés à noter ici est qu’il y a plus d’une entrée avec le nom de la classe valueSkippedHyperSwap. Par conséquent, dans l’événement, nous devons utiliser le $ (this) pour préciser l’option correcte, mais ne peut pas effectuer une autre recherche.

En supposant que votre HTML est comme ça

  

Le script ci-dessous devrait supprimer l’élément avec la valeur ^ si d’autres options sont sélectionnées

 $(function(){ $('.valueSkippedHyperSwap').change(function () { var item=$(this); if(item.val()!="^") { item.find("option[value='^']").remove(); } }); }); 

Exemple JsFiddle http://jsfiddle.net/He5gP/10/