Asp.net 从复选框列表控件的外部范围中删除禁用的属性

Asp.net 从复选框列表控件的外部范围中删除禁用的属性,asp.net,.net-4.0,Asp.net,.net 4.0,对于asp.net复选框列表控件 <asp:CheckBoxList id="chklStat" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" Enabled="false" /> 呈现 <span id="C_chklStat" disabled="disabled"> <span> <input id="C_chklStat_0" type="checkb

对于asp.net复选框列表控件

<asp:CheckBoxList id="chklStat" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" Enabled="false" />

呈现

<span id="C_chklStat" disabled="disabled">
 <span>
   <input id="C_chklStat_0" type="checkbox" name="M$C$chklStat$0" disabled="disabled" value="1" /><label for="C_chklStat_0">Installed</label>
 </span>
</span>

安装

有没有一种简单的方法可以从外部span,C_chklStat中删除disabled属性?

由于复选框列表在渲染时采用动态ID,因此您可以确定的唯一值是“Installed”。用那个选择

$('label:contains("Installed")').parent().parent().removeAttr('disabled');

我只是好奇为什么禁用span对你的应用程序很重要?只是可读性,至少在IE中,文本是灰色的,这使它更难阅读。在加载页面时,我没有想到要用javascript来更改它。如果复选框被禁用(变灰),那么标签也变灰对我来说是有意义的。它给用户一个明确的信息,“你不能用这个复选框做任何事情”。我希望能在服务器端找到一些东西。这是jquery对吗?尽管这不是一个坏的选择。谢谢