另一个jQuery的noob问题 - 我在做什么错?
我有ASP.NET 3.5 Web表单看起来像这样渲染一些HTML标记:
<input id="ctl01_cphContent_pnlBasicInfo_chkRC"
type="checkbox" name="ctl01$cphContent$pnlBasicInfo$chkRC" />
<label for="ctl01_cphContent_cntPromos_pnlBasicInfo_chkRC">Recurrent Charges</label>
<span id="ctl01_cphContent_cntPromos_pnlBasicInfo_lblPromoValidFor"
class="rcPromo">Validity:</span>
<span class="rcPromo">
<input id="ctl01_cphContent_pnlBasicInfo_rbnDiscountValidFor"
type="radio" name="ctl01$cphContent$pnlBasicInfo$discountValidFor"
value="rbnDiscountValidFor" checked="checked" />
<label for="ctl01_cphContent_cntPromos_pnlBasicInfo_rbnDiscountValidFor">valid for</label>
</span>
<span class="rcPromo">
<input id="ctl01_cphContent_pnlBasicInfo_rbnDiscountValidUntil"
type="radio" name="ctl01$cphContent$pnlBasicInfo$discountValidFor"
value="rbnDiscountValidUntil" />
<label for="ctl01_cphContent_cntPromos_pnlBasicInfo_rbnDiscountValidUntil">valid until</label>
</span>
<input name="ctl01$cphContent$pnlBasicInfo$txtDiscountMonths" type="text"
id="ctl01_cphContent_pnlBasicInfo_txtDiscountMonths"
class="textbox" class="rcPromo" originalValue="" style="width:30px;" />
<span id="ctl01_cphContent_cntPromos_pnlBasicInfo_lblMonths" class="rcPromo"></span>
<input name="ctl01$cphContent$pnlBasicInfo$txtDiscountUntil" type="text"
id="ctl01_cphContent_pnlBasicInfo_txtDiscountUntil"
class="textbox" class="rcPromo" originalValue="" style="width:150px;" />
- 我有一个检查“chkRC”我想陷阱,并用它来启用/禁用其他UI控件
- 我有一个数量的标签,输入(类型=无线电)和输入(类型=文本)UI控件。 这些都标有“rcPromo”虚拟CSS类
- 我有一个名为“文本框”,为正常的文本框和“textboxDisabled”为文本框的禁用状态,在一个外部引用CSS文件中的CSS类,这项工作确定(在服务器端代码中使用时,这是)
我试图在jQuery来做到这一点是:当“chkRC”复选框被禁用,我想禁用所有相关的UI控件。
我的jQuery看起来是这样的:
$(document).ready(function() {
$("#<%= chkRC.ClientID %>").click(function() {
$('.rcPromo > :label').toggleClass('dimmed');
if (this.checked) {
$('.rcPromo').removeAttr('disabled');
$('.rcPromo .textboxDisabled').addClass('textbox').removeClass('textboxDisabled');
}
else {
$('.rcPromo > :input').removeAttr('checked');
$('.rcPromo .textbox').addClass('textboxDisabled').removeClass('textbox');
$('.rcPromo').attr('disabled', true);
}
});
});
它工作正常的标签和单选按钮 - 但我不能让它使用文本框的工作 - 他们只是停留各地一样,没有什么变化(他们没有得到禁止,他们没有自己的外貌改变表明他们是残疾人,要么)。
我不明白这一点-我看到几个(几比样品更多)文本框,这是<input type="text">
在HTML中,他们确实有class="rcPromo"
和class="textbox"
他们-那么,为什么不jQuery的查找和更新这些?
有任何想法吗?
渣