如何在IE中使用css隐藏选择选项?

piztneat  于 2022-12-20  发布在  其他
关注(0)|答案(6)|浏览(199)

我想隐藏一个选择标签的选项,下面是我写的代码。这适用于Chrome和Firefox,但不适用于IE。

<style>
            option{
                display:none !important;
            }
</style>

<select style="width:400px" id="selectid" >
            <option id="result1" value="Select" >Select</option>
            <option disabled value="abcd" >abcd</option>
            <option disabled value="abcd" >abcd</option>
            <option disabled value="abcd" >abcd</option>
            <option disabled value="abcd" >abcd</option>
</select>

有什么简单的CSS样式可以隐藏它吗?我在stackoverflow中尝试了很多答案,但没有成功。我不想为了一个简单的CSS东西而不必要地去jquery。
编辑:我不希望显示下拉列表

ohtdti5x

ohtdti5x1#

对它使用 hidden

<option value="" hidden></option>
acruukt9

acruukt92#

我在CSS中隐藏了原来的选择表,并为"过滤结果"添加了一个补充选择表。我只是使用JavaScript/jQuery将相关选项移动到过滤结果元素中。
适用于所有浏览器。HTML:

<div id="banner-message">
    <h4>Filter available color variants based on selected color category.</h4>
    <p>Select color category:</p>
    <select id="category">
        <option value="red">red</option>
        <option value="green">green</option>
        <option value="blue">blue</option>
    </select>

    <p>Select color variant</p>
    <select id="varint_full" style="display: none;">
        <option class="red green blue" value="none">No variant</option>
        <option class="red" value="indianred">Indian red</option>
        <option class="red" value="orangered">Orange red</option>
        <option class="red" value="darkred">Dark red</option>
        <option class="green" value="forestgreen">Forest green</option>
        <option class="green" value="lime">Lime</option>
        <option class="green" value="lightseagreen">Light sea green</option>
        <option class="blue" value="blueviolet">Blue violet</option>
        <option class="blue" value="cornflowerblue">Corn flower blue</option>
        <option class="blue" value="lightskyblue">Light sky blue</option>
    </select>
    <select id="variant_filtered">

    </select>

</div>

JavaScript语言:

function filterVariant() {
    // Reset filters
    $('select#variant_filtered option').appendTo('select#varint_full')

    // Apply new filters
    var category = $('select#category').val()
    $('select#varint_full option.' + category).appendTo('select#variant_filtered')
    $('select#variant_filtered').val('none')

    changeColor()
}

function changeColor() {
    // Apply style change
    var filtered_color = $('select#variant_filtered').val()
    var category = $('select#category').val()

    $('select').css({
        'background-color': (filtered_color == 'none') ? category : filtered_color
    })
}

filterVariant()
$('#category').change(function() {
    filterVariant()
})
$('#variant_filtered').change(function() {
    changeColor()
})

JSFIDDLE:根据选定的颜色类别过滤可用的颜色变量。https://jsfiddle.net/Znote/exdcaqtv/2/

emeijp43

emeijp433#

这就是你要找的。选项在IE浏览器中不能隐藏,你只能禁用它。另一个选项是用空html替换select元素的html。正如你在下面的jsfiddle中看到的。Hide options in select element, not working in IE?

$("#selectid:not(#selectid:first-child)").html("");
option{
                display:none !important;
            }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select style="width:400px" id="selectid" >
            <option id="result1" value="Select" >Select</option>
            <option disabled value="abcd" >abcd</option>
            <option disabled value="abcd" >abcd</option>
            <option disabled value="abcd" >abcd</option>
            <option disabled value="abcd" >abcd</option>
</select>

下面是js小提琴:-http://jsfiddle.net/bj5fqj11/3/

mlmc2os5

mlmc2os54#

试试这个:

#selectid { 
   display: none !important;
}

在IE 11上对我有效。

m528fe3b

m528fe3b5#

下面的代码对我来说部分工作(在IE):
第一个月

6rqinv9w

6rqinv9w6#

您没有在引号中结束样式值。请看:
style ="显示:无;〉
因此,如果在后面加上双引号:显示:无;它应该会起作用。

相关问题