JQuery/Javascript:是否启用复选框列表
启用或禁用这种控件没有问题,但如果我只想知道状态怎么办?要知道其状态是启用还是禁用JQuery/Javascript:是否启用复选框列表,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,启用或禁用这种控件没有问题,但如果我只想知道状态怎么办?要知道其状态是启用还是禁用 .prop("disabled",false); .attr("disabled", true); 这些都是设置而不是获取 或者我甚至试过类似的 $get("<%=cklst.ClientID %>").disabled; $get(“”)已禁用; 不工作 有什么提示吗?谢谢 试试看: $(“#myid”).prop(“禁用”) Jquery文档: 根据您的示例,可能是: $(“#”).prop
.prop("disabled",false);
.attr("disabled", true);
这些都是设置而不是获取
或者我甚至试过类似的
$get("<%=cklst.ClientID %>").disabled;
$get(“”)已禁用;
不工作
有什么提示吗?谢谢 试试看:
$(“#myid”).prop(“禁用”)
Jquery文档:
根据您的示例,可能是:
$(“#”).prop(“已禁用”)
请注意,要设置disabled属性,请使用:
$(“#”)prop(“禁用”,true)
好的,那么你使用的是一个复选框列表,它有点不同。如果查看此代码中发出的html:
<asp:CheckBoxList ID="ck1" runat="server" Enabled="false"
RepeatDirection="Vertical" RepeatLayout="Table" EnableViewState="true" >
<asp:ListItem>Item 1 Disabled</asp:ListItem>
<asp:ListItem>Item 2 Disabled</asp:ListItem>
<asp:ListItem>Item 3 Disabled</asp:ListItem>
<asp:ListItem>Item 4 Disabled</asp:ListItem>
<asp:ListItem>Item 5 Disabled</asp:ListItem>
<asp:ListItem>Item 6 Disabled</asp:ListItem>
</asp:CheckBoxList>
项目1残疾人
项目2残疾人
项目3残疾人
项目4残疾人
项目5残疾人
项目6残疾人
你会看到它是这样的:
<table id="ctl00_cphMain_ck1" disabled="disabled" border="0">
<tbody><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_0" type="checkbox" name="ctl00$cphMain$ck1$0" disabled="disabled"><label for="ctl00_cphMain_ck1_0">Item 1 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_1" type="checkbox" name="ctl00$cphMain$ck1$1" disabled="disabled"><label for="ctl00_cphMain_ck1_1">Item 2 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_2" type="checkbox" name="ctl00$cphMain$ck1$2" disabled="disabled"><label for="ctl00_cphMain_ck1_2">Item 3 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_3" type="checkbox" name="ctl00$cphMain$ck1$3" disabled="disabled"><label for="ctl00_cphMain_ck1_3">Item 4 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_4" type="checkbox" name="ctl00$cphMain$ck1$4" disabled="disabled"><label for="ctl00_cphMain_ck1_4">Item 5 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_5" type="checkbox" name="ctl00$cphMain$ck1$5" disabled="disabled"><label for="ctl00_cphMain_ck1_5">Item 6 Disabled</label></span></td>
</tr>
</tbody></table>
$("#<%=cklst.ClientID %> input")[0].prop("disabled")
项目1残疾人
项目2残疾人
项目3残疾人
项目4残疾人
项目5残疾人
项目6残疾人
(现在这可能会有所不同,具体取决于为ClientIDMode和其他父控件ID设置的值的类型。)
ASP.NET所做的是创建一个表html元素,该元素(有效地)具有复选框列表的单个ID,然后在表中的每一行上,都有一个带有已枚举ID的html复选框元素,例如ctl00_cphMain_ck1_0、ctl00_cphMain_ck1_1、ctl00_cphMain_ck1_2等
每个复选框都设置了禁用的属性
因此,在客户端,在处理复选框时,您必须更具体地针对它们。如果只使用checkboxlistid,那么将得到一个不正确的值,因为JQuery无法识别表元素上的禁用属性。因此,您需要查看一个(或多个)子复选框
所以你可以这样做:
<table id="ctl00_cphMain_ck1" disabled="disabled" border="0">
<tbody><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_0" type="checkbox" name="ctl00$cphMain$ck1$0" disabled="disabled"><label for="ctl00_cphMain_ck1_0">Item 1 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_1" type="checkbox" name="ctl00$cphMain$ck1$1" disabled="disabled"><label for="ctl00_cphMain_ck1_1">Item 2 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_2" type="checkbox" name="ctl00$cphMain$ck1$2" disabled="disabled"><label for="ctl00_cphMain_ck1_2">Item 3 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_3" type="checkbox" name="ctl00$cphMain$ck1$3" disabled="disabled"><label for="ctl00_cphMain_ck1_3">Item 4 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_4" type="checkbox" name="ctl00$cphMain$ck1$4" disabled="disabled"><label for="ctl00_cphMain_ck1_4">Item 5 Disabled</label></span></td>
</tr><tr>
<td><span disabled="disabled"><input id="ctl00_cphMain_ck1_5" type="checkbox" name="ctl00$cphMain$ck1$5" disabled="disabled"><label for="ctl00_cphMain_ck1_5">Item 6 Disabled</label></span></td>
</tr>
</tbody></table>
$("#<%=cklst.ClientID %> input")[0].prop("disabled")
$(“#输入”)[0]。道具(“禁用”)
这实际上是在说:对于checkbox list表元素,获取第一个input子元素,并告诉我disabled属性是什么
有意义吗?只需使用
var value=$(“#youritem”).prop()
@SableFoste不工作,它引发异常,我使用的是jquery 1.8.2不工作,不是错误,但值为“false”,但实际上该控件是启用的Corry Sean无论该控件是启用还是禁用,它们都返回“false”。您确定正确设置了disabled属性吗?我不会说ASP,但我觉得这个答案很清楚,谢谢分享。另一个选项是使用Jquery中的.attr()函数检查表上的“disabled”属性。