2017-07-15 58 views
3

我有以下选择下拉列表,这是动态创建的,它没有选择标识但有名称。我有JavaScript数组,如 var t = [125,43,89]。 我想从下面的下拉列表中删除上面的数组值。删除下拉列表中的值

<select name="UF_DEPT"> 
<option value="">no</option> 
<option value="125"> . Volkswagen</option> 
<option value="43" selected=""> . . AMC/INS/EW</option> 
<option value="66"> . . CPU</option> 
<option value="89"> . . New York Office</option> 
<option value="107"> . . Paris Office</option> 
</select> 
+0

甲形式不能有多个同名的选择,所以当y ou为select设置名称,使用相同的名称设置ID。 – Bsienn

回答

6

var t = [125, 43, 89]; 
 

 
t.forEach(function(item) { 
 
    $("select[name='UF_DEPT'] option[value='" + item + "']").remove(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="UF_DEPT"> 
 
<option value="">no</option> 
 
<option value="125"> . Volkswagen</option> 
 
<option value="43" selected=""> . . AMC/INS/EW</option> 
 
<option value="66"> . . CPU</option> 
 
<option value="89"> . . New York Office</option> 
 
<option value="107"> . . Paris Office</option> 
 
</select>

1

可以通过阵列迭代并与相应的值(使用option[value='...'] jQuery选择)删除<option>元素:

var t = [125, 43, 89]; 

t.forEach(function(item) { 
    $("select[name='UF_DEPT'] option[value='" + item + "']").remove(); 
}); 
0
var child=$("select [name='UF-DEPT']").children(); 
foreach(child as sub-child){ 
if($.inArray(sub-child.val(),array){ 
subchild.remove(); 
} 
}