我正在为我的HTML表单寻找一个jQuery / JavaScript选择框。我的具体要求是我需要能够禁用控件菜单中的某些选项。我想知道是否有人找到了允许我这样做的插件,最好是通过使用
之类的东西轻松实现$("#selectControl").change(function()
{
$(this).find(":selected").attr("disabled", "disabled");
});
当然,attr()
函数不适用于生成的元素,但是有一个jQuery插件有这个功能的包装器吗?
修改
为了让自己更清楚,我会用不同的方式说:我有一个HTML结构,看起来像一个很好的样式选择框,背后有隐藏的实际<select>
控件。可以在<option>
中禁用<select>
,但在大多数jQuery插件中禁用样式选择框。我问是否有一个插件,将允许我禁用美化<select>
元素中的某些选项。
谢谢,
詹姆斯
答案 0 :(得分:1)
我不确定我是否正在跟踪您的问题,但下面的代码段会在下拉列表中运行,以隐藏某些选项:
//show them all
$('#<%= ddlRank.ClientID %> span').each(
function () {
var opt = $(this).find("option").show();
$(this).replaceWith(opt);
}
);
//hide unrelated
var selectionLost = false;
$('#<%= ddlRank.ClientID %> option').each(
function () {
if ($.inArray($(this).val(), related) == -1) {
if ($(this).attr("selected")) {
$(this).removeAttr("selected");
selectionLost = true;
}
$(this).wrap("<span>").hide();
}
}
);
秘密酱(隐藏它们,与“全部显示”代码一起)是:
$(this).wrap("<span>").hide();
答案 1 :(得分:0)
嗯,事实证明我看起来不够努力。对于那些想要和我一样的人,我找到了this plugin。为了获得我的“禁用选择”行为,我使用了jQuery tie插件,该插件链接到某个URL的页面上。这是一个沉重的选择框插件,但缩小它应该没问题。使用CSS可以非常轻松地设置该框,并且可以使用边框宽度技巧完全没有图像。如果我对此感兴趣,我会写一篇关于如何设置这些方块样式的教程。
修改强>
上面链接的插件实际上并不是很好用,所以我只写了自己的插件。如果有人想看一下,我会在一段时间内发布链接。