我有一堆asp:复选框。他们中的大多数都有一类“受限制”,所有这些都有clientIdMode ='static'。我有一个单独的复选框,其中id ='other'。单击此框时,我希望禁用class ='restricted'的框。问题是我无法在Firefox或Chrome中使用它。我在网上发现了一堆相关的问题,但没有真正的答案。
$('#other').click(function() {
if ($(this).is(":checked")) {
$(".restricted").prop("disabled", "disabled");
}
else {
$(".restricted").prop("disabled", false);
}
});
我尝试过使用.prop,.attr,(“禁用”,真实)和(“禁用”,“禁用”)的组合,但我不能让它在IE之外工作。
编辑:这也是一些HTML:<fieldset>
<legend>Accessories</legend>
<ol>
<li>
<asp:CheckBox ID="cb1" runat="server" ClientIDMode="Static" CssClass="restricted" />
<label for="cb1">VAL 1</label>
</li>
<li>
<asp:CheckBox ID="cbP2" runat="server" ClientIDMode="Static" CssClass="restricted" />
<label for="cb2">VAL 2</label>
</li>
<li>
<asp:CheckBox ID="cb3" runat="server" ClientIDMode="Static" CssClass="restricted" />
<label for="cbPickupInside">VAL 3</label>
</li>
<li>
<asp:CheckBox ID="cb4" runat="server" ClientIDMode="Static" CssClass="restricted" />
<label for="cb4">Value 4</label>
</li>
</ol>
</fieldset>
点击后的复选框应该禁用另一个:
<fieldset>
<ol>
<li>
<asp:CheckBox ID="cbG" runat="server" ClientIDMode="Static" />
<label for="cbG">VAL G</label>
</li>
答案 0 :(得分:2)
$('#other').click(function() {
if ($(this).is(":checked")) {
$(".restricted input").prop("disabled", "disabled");
}
else {
$(".restricted input").prop("disabled", false);
}
});
我通过在类选择器之后添加输入选择器来修复它。输入的范围是实际拥有的类,所以我猜IE找到了span并针对输入运行代码。 Chrome和Firefox必须在这段时间内停止。
答案 1 :(得分:-1)
如果这是一个asp复选框,那么目标如下:
$("#<%=other.ClientID %>").click(function() {
//code here
});
从
更改复选框类CssClass="restricted"
要
class="restricted"