使用jQuery从DropDownList项中删除选项

我有一种情况,在某些情况下,下拉列表可以包含一个不可选择的默认值,一旦另一个值更改,默认值应该不再是一个选项。 据我所知,这个概念本身并不存在,所以我试图用jQuery编写代码。 具有此条件的所有DropDownLists都分配了一个类“valueSkippedHyperSwap”。 需要删除的值是插入符号’^’。 这是我的,不起作用:

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

根据人们的要求,这里是HTML,虽然我不能为我的世界弄清楚如何将它变成代码块:

  
(^) 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

这里要注意的一个关键事项是,有多个输入带有valueSkippedHyperSwap类名,所以在事件中,我们必须使用$(this)来正确选项,不能再做其他搜索。

假设您的HTML是这样的

  

如果选择了任何其他选项,则以下脚本应删除具有值^项目

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

JsFiddle示例http://jsfiddle.net/He5gP/10/