禁用下拉列表项

时间:2011-03-12 15:11:07

标签: c# asp.net drop-down-menu

我想在下拉列表中禁用每五个项目。

dropdownlist1.items[i].Attributes.Add("disabled","disabled");

如何编写逻辑以禁用下拉列表中的每五个项目?

我正在使用两个for循环:一个用于显示项目,另一个用于禁用下拉列表中的项目。如何简化代码?

5 个答案:

答案 0 :(得分:2)

也许您应该考虑不显示它们? 如:

if (i % 5 > 0) {
   dropdownlist1.items[i].Attributes.Add("disabled","disabled");
}

答案 1 :(得分:1)

foreach(Control c in this.Controls)
 {
    if(c is dropdownlist)
    {
        dropdownlist dl = (dropdownlist)c;
        if (i % 5 > 0)
        {
           dl.items[i].Attributes.Add("disabled","disabled");
        }
    }
 }

检查一下!与铸造相同。

找出表单上的所有下拉列表 在每个下拉列表中,它将禁用。

让我知道!!

答案 2 :(得分:0)

如果您需要的是一个选项组功能,可以对您的选项进行分组。以下是一个示例,了解如果您不知道http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_optgroup,optgroup会是什么样子。

有一些方法可以将optgroup添加到下拉列表http://weblogs.asp.net/jeff/archive/2006/12/27/dropdownlist-with-optgroup.aspx

然后你可以像这样使用它

ListItem item = new ListItem("some group name", String.Empty);
item.Attributes["optgroup"] = "optgroup";
myDropDown.Items.Add(item);

或在你的情况下

dropdownlist1.items[i].Attributes["optgroup"] = "optgroup";

答案 3 :(得分:0)

使用jQuery

var count = 0;
$('select option').each(function() {
   count++;
   if(count % 5 == 0)
     $(this).attr('disabled', 'disabled'); 
}):

答案 4 :(得分:-1)

我用Google搜索“禁用下拉列表项”,the first result提供了您正在寻找的确切答案。

这是不可能的,但也有其他选择。