我有一个asp:net下拉列表,其中附加了额外的项目服务器端:
<asp:DropDownList ID="ddlResult" runat="server">
<asp:ListItem Value="" Text="-- Please Select --"></asp:ListItem>
</asp:DropDownList>
...基本上我想通过jQuery中的显示文本禁用/启用条目。我在这里尝试了很多例子,但似乎没有一个适合我。例如
$("#ddlResult option[text='Positive']").attr('disabled','disabled');
...或...
$("#ddlResult option[text='Positive']").hide();
......或......
$("#<% =ddlResult.ClientID %> > option[text='Positive']").attr("disabled", "disabled")
......等等。
有人可以告诉我哪里出错吗?
提前致谢。
答案 0 :(得分:2)
可能是这样的。您可以使用:contains选择器查找文本并禁用该选项。
$('#ddlResult option:contains("Positive")').prop("disabled", true);
或
$('#ddlResult option:contains("Positive")').attr("disabled", "disabled");
工作Demo
答案 1 :(得分:1)
您必须使用filter
方法选择正确的option
元素,然后选择hide
或disable
,如下所示:
$("#ddlResult option").filter(function() {
return $(this).text().trim() == 'Positive';
}).hide();
$("#ddlResult option").filter(function() {
return $(this).text().trim() == 'Positive';
}).prop('disabled',true);
请注意,要在启用和停用之间切换,您必须使用.prop()
- 建议:
1. .prop('disabled',false); //to enable
2. .prop('disabled',true); //to disable
如果您选择使用.attr('disabled', '..anything..')
进行停用,则必须使用.removeAttr('disabled')
启用。
答案 2 :(得分:0)
尝试下面的模式
$(document).ready(function(){
$(&#34;#&lt;%= DropdownListId.ClientId%&gt;选项[value =&#39; 1&#39;]&#34;)。attr(&#34;禁用&#34;, &#34;禁用&#34);
});