Jquery或Javascript从组合框中删除除一个选项之外的所有选项

Jquery or Javascript remove from combobox all option except one

本文关键字:选项 一个 Javascript 组合 删除 Jquery      更新时间:2023-09-26

我希望你能帮我解决这个问题,我想从组合框中删除除值=3的选项之外的所有选项。我有此代码,但不起作用。

<select id="Select1" name="Select1">
    <option selected value="1">Pink</option>
    <option value="2">Black</option>
    <option value="3">Green</option>
    <option value="4">Blue</option>
    <option value="5">White</option>
</select>

<input type="button" onclick="myFunction()" value="Remove option">
<script>
    function myFunction() {
        var select=document.getElementById('Select1');
        for (i=0;i<select.length;  i++) {
           if (select.options[i].value!=document.getElementById('TextBox1')) {
             select.remove(i);
           }
        }
    }
</script>

您可以使用以下方法之一:

$("#Select1 option").not("[value='3']").remove();
$("#Select1 option:not([value='3'])").remove();
$("#Select1 option[value!='3']").remove();

在这里摆弄:http://jsfiddle.net/bh3L1oen/

此属性选择器可以做到这一点

$('#Select1 option[value!=3]').remove()

参考:属性不等于选择器 [名称!="值"]

演示

检查文本框中的文本时缺少.value。您应该使用:

document.getElementById('TextBox1').value

而不是只使用:

document.getElementById('TextBox1')

使用 jQuery:

$('select').each(function(){
  if($('option',this).attr('value') != '3'){
    $('option',this).remove();
  }
});