无法在Mozilla Firefox中使用javascript从下拉列表中删除项目

Unable to remove an item from dropdown list using javascript in Mozilla Firefox

本文关键字:javascript 下拉列表 删除项目 Mozilla Firefox      更新时间:2023-09-26

我是javascript的初学者。我试图从基于一个选项按钮的下拉列表中删除几个项目。在firefox中,我看到它到达了删除项目的行,但没有删除项目。你能帮帮忙吗?

disable_dropdown_items() 
{
	var yes = document.getElementById('RadioYes').checked;
	var all_opts = document.getElementById('ALL_ITEMS').options;
	for (var i = 0; i < document.getElementById('ALL_ITEMS').options.length; i++) 
	{
		if((document.getElementById('ALL_ITEMS').options[i].value == '891') && (yes == true)) 
		{
		    document.getElementById('ALL_ITEMS').options[i].remove(i);
		}
    }
}

,

document.getElementById('ALL_ITEMS').options[i].remove(i);

在IE和chrome中可以很好地删除值"891",但firefox不会删除。我错过什么了吗?我试过了:

document.getElementById('ALL_ITEMS').options.remove(i);

如果没有选项索引,仍然没有运气

一个更小的版本是这样做的。在select语句中使用remove()

function disable_dropdown_items() {
    var yes = document.getElementById('RadioYes').checked;
    var sel = document.getElementById('ALL_ITEMS');
    for (var i = 0; i < sel.options.length; i++) {
        if ((sel.options[i].value == '891') && (yes == true)) {
            sel.remove(i); //Remove from select using index
        }
    }
}

<一个例子strong>小提琴

这删除了第三个选项,即拒绝

<select id="FilterByTypeTop" class="form-control">
    <option value="1">Approved</option>
    <option value="2">Not Approved</option>
    <option value="3">Rejected</option>
</select>
<script>
    $('#FilterByTypeTop').find('option[value="3"]').remove();
</script>