在下拉列表中隐藏项目

本文关键字:项目 隐藏 下拉列表 | 更新日期: 2023-09-27 18:03:25

我在下拉列表中有一些值,(例如1,2,3),我想隐藏其中一个(例如2),然后当我点击下拉列表时,我想只看到1和3个值…

我使用这段代码,但是它不工作…

dropDownList.Items[0].Attributes.Add("style", "display: none");

这个方法行不通。

dropDownList.Items[0].Attributes.Add("style", "visibility: hidden");

但是当我用这个溶液设置颜色时,它就起作用了。

有人知道如何在c#中设置它吗?

之后我想取消隐藏这个值,我想看到所有的值(1,2,3)

Thx .

在下拉列表中隐藏项目

禁用它怎么样?代码应该是这样的:

dropDownList.Items[0].Enabled = false;

或者你可以用jQuery隐藏它:

$("#yourDropDownListId option[value='0']").hide();

我想你应该试着去掉

这个值
ListItem removeItem=dropDownList.Items.FindByValue("1");
dropDownList.Items.Remove(removeItem);

我选COLD TODD的答案。使用css隐藏选择框的项是一个依赖于浏览器的行为-它可能在某些浏览器上工作;它可能不会像预期的那样对其他人起作用。

我假设你说的是一个列表中的一小部分项目。你可以在viewstate中缓存它。使用NameValueCollection来存储这些项。

我没有在所有的浏览器中测试。在IE10中,你根本无法隐藏项目。在chrome中,你根本无法隐藏第一个项目,无论如何。您可以在jsfiddle:

上使用示例。
<select id='myoptions'></select>
<br/>
<br/>Hide:
<br/>
<div class="form-inline">
    <select id="ctrls"></select>
    <input type="button" class="btn btn-default" value="Go" id="btnhide" />
</div>

onLoadScript:

var data = {
    'foo1': 'bar1',
        'foo2': 'bar2',
        'foo3': 'bar3',
        'foo4': 'bar4',
        'foo5': 'bar5'
};
$(function () {
    var $sel = $('#myoptions');
    var $sel2 = $('#ctrls');
    $.each(data, function (idx, val) {
        var opt = document.createElement('option');
        opt.value = val;
        opt.innerHTML = idx;
        $sel.append(opt);
        $sel2.append($(opt).clone());
    });
    $('#btnhide').click(function () {
        var val = $sel2.val();
        $sel.find('option').show();
        $sel.find('option[value=' + val + ']').hide();
    });
});

假设您使用的是ASP下拉列表,您只需将Enabled="False"添加到您想要隐藏的任何一个。

<asp:DropDownList ID='DDL' runat="server" >  
    <asp:ListItem>1</asp:ListItem>
    <asp:ListItem Enabled="False">2</asp:ListItem>
    <asp:ListItem>3</asp:ListItem>
 </asp:DropDownList>