在下拉列表中隐藏项目
本文关键字:项目 隐藏 下拉列表 | 更新日期: 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>