jQuery com ASP.NET WebForms - desabilitando caixas de texto

Outra pergunta noob jQuery - o que estou fazendo errado?

Eu tenho algumas marcações HTML processadas por webforms do ASP.NET 3.5 que se parece com isso:

<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;" />
Eu tenho um "chkRC" marcado que eu quero capturar e usar para ativar / desativar outros controles de interface do usuárioEu tenho um número de rótulos, entrada (tipo = rádio) e entrada (tipo = texto) controles de interface do usuário. Estes são todos marcados com a classe CSS dummy "rcPromo"Eu tenho uma classe CSS chamada "caixa de texto" para a caixa de texto normal e "textboxDisabled" para o estado desativado da caixa de texto, em um arquivo CSS referenciado externamente, que funciona bem (quando usado no código do lado do servidor)

O que estou tentando realizar no jQuery é: quando a caixa de seleção "chkRC" está desabilitada, quero desabilitar todos os controles relevantes da interface do usuário.

Meu jQuery se parece com isso:

    $(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);
            }
        });
    });

Funciona bem para os rótulos e os radiobuttons - mas eu simplesmente não consigo trabalhar com as caixas de texto - eles apenas permanecem os mesmos ao redor, nada muda (eles não são desativados e eles não mudam sua aparência para indicar que eles estão desativados, também).

Eu não entendo isso - eu vejo várias caixas de texto (algumas mais do que na amostra), que são<input type="text"> em HTML, e eles têm oclass="rcPromo" eclass="textbox" neles - então por que o jQuery não encontra e atualiza esses?

Alguma ideia?

Marc

questionAnswers(2)

yourAnswerToTheQuestion