jQuery с ASP.NET WebForms - отключение текстовых полей
Еще один вопрос jQuery noob - что я делаю не так ??
У меня есть некоторая HTML-разметка, представленная веб-формами ASP.NET 3.5, которая выглядит следующим образом:
<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", который я хочу перехватить и использовать для включения / выключения других элементов управления пользовательского интерфейсаУ меня есть несколько меток, входных (тип = радио) и входных (тип = текст) элементов управления пользовательского интерфейса. Все они помечены с помощью фиктивного CSS-класса "rcPromo"У меня есть класс CSS с именем «textbox» для обычного текстового поля и «textboxDisabled» для отключенного состояния текстового поля в файле CSS с внешней ссылкой, который работает нормально (при использовании в коде на стороне сервера, то есть)В jQuery я пытаюсь сделать следующее: когда флажок «chkRC» отключен, я хочу отключить все соответствующие элементы управления пользовательским интерфейсом.
Мой 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 не находит и не обновляет их?
Есть идеи?
Марк